Links:
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。