寫過 launch、async,程式碼能動,但一遇到協程明明取消了畫面卻還在跑、例外像穿牆一樣繞過 try-catch,就答不出問題出在哪裡。這個系列要補的不是 API 用法,而是那條被你跳過的執行時間軸:協程何時暫停、何時恢復、狀態被誰持有、又在什麼條件下被取消。
系列聚焦純 Kotlin Coroutines 語言機制本身,全系列使用一個示範情境,讓讀者這 30 天走完,拿到的是一套能推理協程行為的心智地圖、而不是只能死記 API 來猜測程式動作。
Day 19:從回傳一個值到回傳一串值,Flow 是什麼 停在一個問題上,拿到一串進度數值,如果需要過濾掉不需要的中間值,或者轉換成另一種格式才呈現給使用者,難...
Day 20:Flow 的操作符,map、filter、collect 這些常用招式 結尾點出一件事,前面兩天示範的所有 Flow,處理的都還是「每次收集就從頭...
Day 21:StateFlow 與 SharedFlow,冷流不夠用的時候 停在一個新的情境上:如果一個協程產生了一批資料,需要一筆一筆像接力一樣,直接遞交給...
Day 22:Channel,協程之間怎麼傳話 停在一個問題上:Channel 讓一個協程把資料一筆一筆接力遞交給另一個協程,而收集 Flow 的時候,資料同樣...
Day 23:Flow 底層其實是 Channel,兩者的關係是什麼 停在一個問題上:今天談到的暫停等待,處理的都是速度差距還在合理範圍內的情境,如果生產資料的...