亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JS中數組的map()方法是并發執行的嗎?

JS中數組的map()方法是并發執行的嗎?

呼啦一陣風 2019-01-30 22:47:10
本人新手,在學習阮一峰大師的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.我的代碼有什么問題嗎?
查看完整描述

1 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

大概搞懂了,當然這是個人理解:


map()函數內不是并發執行的

async函數被map()函數遍歷,由于async函數被執行時立即返回一個Promise,所以可以看作并行執行

setTimeout()計時應該是javaScript自己調用時間戳執行的吧,這部分我網上也查不到

有什么不對的地方大佬們指出啊。


查看完整回答
反對 回復 2019-02-01
  • 1 回答
  • 0 關注
  • 4337 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號