【发布时间】:2014-12-10 05:18:06
【问题描述】:
我查看了这篇文章:setTimeout in Node.js loop,希望它能解决我的问题,并且在某种程度上它已经解决了。但是,我遇到了一个我无法自行解决的新问题。
在过去的几个小时里,我一直在尝试解决这个问题,但我没有运气。这是我所拥有的:
超时函数中需要调用的函数:
function searchLDAP(i, app, userUID){
app.process_args(userUID[i]);
}
这是代码中不能正常工作的部分。该代码适用于第一次迭代 (userUID[0]),但是当它尝试递归时,i 变为 undefined。
function doSetTimeout(i, count, app, userUID) {
if(i == count - 1){ callback(); }
searchLDAP(i, app, userUID);
++i;
setTimeout(doSetTimeout, 2000);
}
我正在使用节点的异步模块
async.series([
function(callback) {
app.readLines(input, callback); // userUID is and array that
// is returned from this function
},
function() {
var count = userUID.length;
var i = 0;
doSetTimeout(i, count, app, userUID);
}
], function(err) {
console.log('all functions complete');
});
提前谢谢你
-帕特里克
【问题讨论】:
标签: javascript node.js asynchronous