本人新手,在學習阮一峰大師的ES6,看到這里:上面代碼中,雖然map方法的參數是async函數,但它是并發執行的,因為只有async函數內部是繼發執行,外部不受影響。后面的for..of循環內部使用了await,因此實現了按順序輸出。上面代碼使用fetch方法,同時遠程讀取一組 URL。每個fetch操作都返回一個 Promise 對象,放入textPromises數組。以上摘自閱讀內容,根據大師的話“只有async函數內部是繼發執行”,我有兩種理解:1:map()函數內的方法是并發執行的。2:map()函數中的async函數之間是并發執行的。為了驗證,我自己寫了一個方法,用計時模擬異步事件:結果是按順序輸出1,2,3,4,5.于是我懷疑是async函數之間是并發的:結果依然是1,2,3,4,5.以上兩種情況并沒有實現并發(5在1之前輸出,我試過增加while的循環時間,但是沒有效果)于是我想問;1.map()是不是一個并發執行的函數?2.async函數之間是并發的嗎?3.我的代碼有什么問題嗎?
JS中數組的map()方法是并發執行的嗎?
呼啦一陣風
2019-01-30 22:47:10