簡約的軟體開發思維 16~17
前端讀書會/上德/2025-10-3
B L U E P L A N E T
章節
16. 多條時間線共享資源
17. 協調時間線
2
B L U E P L A N E T
復習
3
B L U E P L A N E T
Chapter 16. 多條時間線共享資源
4
B L U E P L A N E T
改善時間線五個原則
第15章13節已介紹改善時間線五個原則:
5
第16章
B L U E P L A N E T
隱性及顯性的時間模型
6
B L U E P L A N E T
concurrency primitives
7
B L U E P L A N E T
「放入購物車」程式仍可能出錯
8
B L U E P L A N E T
在 Javascript 中自行建立佇列
必須確保順序的項目交由佇列處理器執行
9
B L U E P L A N E T
「放入購物車」程式 - 修改前
10
B L U E P L A N E T
「放入購物車」程式 - 放入佇列 (Queue)
11
B L U E P L A N E T
用 closure 做成可重覆使用的 Queue(worker)
12
修改前
B L U E P L A N E T
Chapter 17. 協調時間線
13
B L U E P L A N E T
改善時間線五個原則
第15章13節已介紹改善時間線五個原則:
14
第17章
B L U E P L A N E T
讓兩個 ajax 同時執行後出現的 bug
15
B L U E P L A N E T
畫出時間線釐清問題
繪製時間線圖三大步驟:
16
B L U E P L A N E T
辨識 Actions
17
B L U E P L A N E T
將 Actions 畫在時間線上
18
B L U E P L A N E T
簡化時間線圖
19
B L U E P L A N E T
等待兩個平行處理的回呼
20
B L U E P L A N E T
Cut()
21
B L U E P L A N E T
「放入購物車」實作 Cut()
22
B L U E P L A N E T
JustOnce()
23
B L U E P L A N E T
小結
24
B L U E P L A N E T
Recap
25
B L U E P L A N E T
Thanks
26
B L U E P L A N E T