2013-03-13 88 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时会调用该函数每个测试失败