在async.until(test,function,callback)中,不会重复调用测试函数

时间:2016-11-13 14:00:27

标签: javascript callback async.js

当我使用async.until()函数时,我观察到虽然返回false但测试没有被重复调用。因此,不会调用函数来执行下一个任务。

onSelect

1 个答案:

答案 0 :(得分:1)

您只看到调用一次的测试函数的原因是因为您从未超过第一次迭代。为了从一次迭代移动到下一次迭代,您需要在传递给callback的第二个函数中调用async.until

这是一个稍微修改过的示例,它将显示每次迭代时调用的测试函数:

var iteration = 0;
async.until(function(){
    console.log("Checking iteration : " + iteration);
    return iteration > 5;
}, function(callback){
  console.log(++iteration);
  setTimeout(callback, 1000);
}, function(result){
    console.log("====================");
    console.log(result);
});