2013-03-13 128 views
12

問候所有,異步的NodeJS的同時

我想重複調用一個函數,但希望每次通話只有在完成以前調用時運行。異步的同時適合我需要的嗎?或者這些電話並行發生?

謝謝!

Gary

回答

26

雖然會做你所需要的,但它會連續運行每個功能。在每次運行之前,它將執行「測試」功能以確保它應該再次運行。

他們的榜樣:

var count = 0; 

async.whilst(
    function() { return count < 5; }, 
    function (callback) { 
     count++; 
     setTimeout(callback, 1000); 
    }, 
    function (err) { 
     // 5 seconds have passed 
    } 
); 
+0

人時間你爲我節省了很多時間!!! Thx很多。 – 2016-07-13 20:46:13

1

As Chad noted,異步的whilst將做的工作。

你可能想要考慮Async的until(while的逆)。都做同樣的工作,但是關鍵的區別是:

  • async.whilst將調用該函數每個測試通過
  • async.until時會調用該函數每個測試失敗