1. 程式人生 > >JavaScript Promise異步實現章節的下載顯示

JavaScript Promise異步實現章節的下載顯示

等待 arr site red ima ... res 圖片 分享圖片

Links:

JavaScript Promise:簡介

1.一章一章順序地下載顯示下載顯示
使用Array.reduce()和Promise.resolve()將各章的下載及顯示作為整體串聯起來。
[下載][顯示]串聯再串聯。
promise.resolve().[then().then()].[then().then()].... => 串聯
2.各章節分別下載完成後,才再一章一章顯示
使用Array.map()將各章的下載並行起來,用Promise.all()將結果合並一處,然後再一章一章地循環顯示。[下載]先並聯再與[顯示]串聯
Promise.all() => 並聯
3.各章節分別下載,下載的同時按章節順序連續性地顯示。若排到的要顯示的章節未下載完才等待。
使用Array.map()將各章的下載並行起來,然後用Promise.resolve()將各章節的[顯示]串聯起來
story.chapterUrls.map(getJSON) => 並行下載
promise.resolve().[then()].[then()].[then()]

技術分享圖片

並行是通過數組的循環執行getJSON來順序開始的。

串行是通過promise的then來實現的,只有前一步then完成了,才做下一步then。

JavaScript Promise異步實現章節的下載顯示