推 jmlntw: Promise 01/23 15:11
→ LaPass: 也就是說只能自己處理好順序問題,然後用Promise去叫處理 01/23 15:56
→ LaPass: 動作這樣嗎? 01/23 15:56
→ jmlntw: 當然如果能用 async 或 bluebird 之類的套件就能更簡潔了 01/23 16:41
→ LaPass: 了解,感謝。 01/23 16:49
推 visa9527: 要確保順序就是要一個完成後 callback 回來再跑下一個 01/23 17:40
推 dododavid006: jmlntw 的範例還是不保證順序吧 Promise 一建立就開 01/23 17:44
→ dododavid006: 始執行了 一開始就全部建好的話是不保證執行順序的 01/23 17:45
推 Kenqr: j大的code沒問題吧 6~13行的函數宣告不會執行內容 01/23 18:00
推 s25g5d4: 把你要執行的動作包成 function 推進 array 裡面 01/23 18:00
→ s25g5d4: 然後 function 執行後回傳一個 Promise 01/23 18:00
→ Kenqr: 15~18 把這個函數塞進array 1000次 一樣沒執行 01/23 18:00
→ s25g5d4: 對 array 裡面的 function 依序執行並等 Promise 結束 01/23 18:01
推 dododavid006: 對耶 我沒看清楚 不好意思 眼殘以為在 17 行執行了 01/23 20:16
推 mrbigmouth: 只要是async的東西就是不能確保順序 寫js這是死觀念 01/24 13:19
→ mrbigmouth: 要確保順序就是另外加手序去確保 01/24 13:19
推 TETZ: 之前寫gulp task時是用recursive跑完一個task再跑下一個 01/26 02:20
→ TETZ: 而且我本來以為會比async慢但算了時間居然比較快耶 01/26 02:21
推 mmis1000: 這種時候,你應該直接 fs.createWriteStream() 01/26 21:23
→ mmis1000: 然後剩下的讓node幫你做 01/26 21:24
→ mmis1000: 手動處裡應該是只有node本身沒有這種機制時才用 01/26 21:32
→ LaPass: 我知道你的意思。我這只是舉例用fs來表示而已,這可以用在 02/15 10:33
→ LaPass: 所有底層異步的問題上 02/15 10:34
→ mmis1000: 然後所謂async,本來就只保證工作結束會通知吧? 02/17 20:33
→ mmis1000: 無論是失敗或成功,順序之類打從一開始就不再考慮範圍 02/17 20:34