提取課程信息并打印的問題。
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里面存的是每個頁面的Promise對象,那么then中的pages怎么獲得pagesArr中的頁面數據呢?
2016-07-19
Promise.all(pagesArr),會把pagesArr里的每一個promise對象執行的結果放在數組中,傳遞給then。而每個promise對象執行的結果是resolve(html),這個方法會把html傳給每個promise的then方法。所以pages=[page1的html,page2的html....];這就是一個回調,處理所有數據
2016-06-19
原理是一樣的。在細看一下課程。