[Demo](https://codepen.io/ZJRui/pen/zYyBYvW) 从日志输出来看 先执行了p1后执行p2, ## 问题 1.Promise.all的参数接受一个Promise数组, Promise数组中每一个Promise的执行函数的 开始执行顺序是怎样的? 是按照数组中的顺序 开始执行每一个Promise的执行函数吗?从实际日志输出来看 好像是数组的倒序 (注意问题问题的是Promise的执行函数的 开始执行顺序,并不是Promise的完成顺序,仅仅是执行函数的开始实行顺序) 2. 实际Promise.all的场景中参数Promise数组中的每一个Promise之间应该是没有依赖性的吧? 我有一个场景: 做一个爬虫,点击登录按钮,页面发生跳转。我需要等待登录请求和页面跳转这两个事件的执行完成。 在 [puppeteer API](https://link.segmentfault.com/?enc=SBhHn%2F82OysB%2FMcwwrgu0Q%3D%3D.JcyV92n5SBcmWQhTZk0DspEUnxBlaILlL%2FAv%2Fdc5un5%2B%2BdvL%2BFwRWK%2FynMI%2Fz%2FGv)的写法如下 const [response] = await Promise.all([ page.waitForNavigation(waitOptions), page.click(selector, clickOptions), ]); 我对这个写法的疑问是: 正常情况下是 点击按钮先执行,然后才会发生页面的跳转,等待页面的跳转完成,也就是这两个Promise之间的执行函数有顺序要求, 这种写法合理吗? b