簡體   English   中英

如何異步調用10個函數並收集所有結果並知道何時完成?

[英]How to async way call 10 functions and collect all results and know when all are finished?

我正在使用Node.js的延遲模塊,並且創建了延遲函數,該函數從遠程服務器獲取數據。 我需要從不同的遠程服務器獲取10個文件,如何做到這一點,以保證知道何時完成所有操作並在array中獲取所有結果? 目前,我已經關閉了,只有在處理完上一個文件后,我才提取下一個文件,但是它同步且速度很慢。

根據我假設您正在使用的模塊的文檔 ,可以執行以下操作:

deferred(delayedAdd(2, 3), delayedAdd(3, 5), delayedAdd(1, 7))(function (result) {`
    console.log(result); // [5, 8, 8]`
});

例如:

deferred(promise1, promise2, promise3)(function (result) {
    // `result` is an array of the results
});

在上面的鏈接上,搜索“分組承諾”(盡管沒有什么比上面更多的了)。

如果您有一個諾言數組,則可以使用Function#apply執行上述操作:

deferred.apply(undefined, theArray)(function (result) {
    // `result` is an array of the results
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM