我正在使用node.js如何在下次调用之前重复调用某个函数并等待完成?
我有一个函数,我需要在一个循环内调用几个参数。该函数必须用循环迭代器作为参数调用,并且循环在调用完成之前不能再次调用该函数。
像这样(同步方法): (注意someFunc是一个异步函数)
var totCount = 1000;
for (var x = 0 ; x < totCount ; x++) {
someFunc(x, parm2, parm3, parm4);
}
我明白,在节点,someFunc可以以任意顺序执行,但这种情况下,绝对必须执行x = 0然后1然后2等
似乎异步库调用“异步”,而“将做到这一点,但我无法将该示例翻译成我的现实生活中的代码。
这里是的例子“async.whilst”:
var count = 0;
async.whilst(
function() { return count < 5; },
function (callback) {
count++;
setTimeout(callback, 1000);
},
function (err) {
// 5 seconds have passed
}
);
注意,因为我可能不得不调用函数someFunc很多次,正常回调的做法是行不通的。
如何将其转换为我的代码? (我假设“async.whilst”是正确的方法,如果不是,请指定正确的方法)
someFunc是同步还是可以提供一个回调作为它完成时调用的参数? –
如果someFunc不是异步的,它将不会以任何顺序执行,而是按照函数被调用的顺序执行。 –
someFunc是异步的。我会在所有参数后追加回调参数吗? – SeanDav