簡體   English   中英

僅通過一個回調並行運行異步

[英]Run async in parallel with only one callback

我有一個可能很愚蠢的問題。 如果我錯了糾正我。

我從REST端點獲得了1000條結果。 但是,將結果標記化並分成100個元素數組。 處理完100個元素后,我需要回調以獲取下一個100。

下面是我通過數組運行的代碼

  async.eachSeries(body.hits.hits, function(hit, loopHit) {
      check_order(hit, loopHit);
  }, function done() {
      // get next array
  });

我在此處執行異步操作的原因是,我需要知道何時完成所有100個結果(函數已完成)。

結果是-我需要一個接一個地運行所有100個元素(在check_order中,我連接到不同的REST點並等待在那里的回調),我想同時在所有這些元素上運行,一旦最后一個完成,我將想從第一個端點獲取下一個數組。

有任何想法嗎?

您的回調在異步中丟失了:

  async.eachSeries(body.hits.hits, function(hit, loopHit) {
      check_order(hit);
      loopHit();
  }, function done() {
      // get next array
  });

另外,您還要在checkHit函數中提供回調loopHit。

暫無
暫無

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

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