提取課程信息并打印的問題。
Promise.all(pagesArr).then(function(pages)?{ ????var?coursesData?=?[]; ????pages.forEach(function(html)?{ ????????var?courses?=?filterChapters(html); ????????coursesData.push(courses); ????}); ????printCourseInfo(coursesData); });
上面的代碼中Promise.all(pagesArr).then(function(pages)的? pagesArr里面存的是每個(gè)頁面的Promise對(duì)象,那么then中的pages怎么獲得pagesArr中的頁面數(shù)據(jù)呢?
2016-07-19
Promise.all(pagesArr),會(huì)把pagesArr里的每一個(gè)promise對(duì)象執(zhí)行的結(jié)果放在數(shù)組中,傳遞給then。而每個(gè)promise對(duì)象執(zhí)行的結(jié)果是resolve(html),這個(gè)方法會(huì)把html傳給每個(gè)promise的then方法。所以pages=[page1的html,page2的html....];這就是一個(gè)回調(diào),處理所有數(shù)據(jù)
2016-06-19
原理是一樣的。在細(xì)看一下課程。