나는이 게시물을 살펴 보았다 : setTimeout in Node.js loop은 내 문제를 해결할 수 있기를 희망하고있다. 그러나 나는 스스로 해결할 수없는 새로운 문제에 직면하고 있습니다.nodejs의 setTimeout - for 루프
저는 지난 몇 시간 동안이 문제를 해결하려고 노력했지만 운이 없었습니다. 여기에 내가 무엇을 가지고 :
타임 아웃 기능을 호출 할 필요가 기능 :
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');
});
이
setTimeout
으로 사전에
-Patrick
이렇게하면 어레이의 마지막 요소에 대한 정보 만 반환합니다. 예를 들어, 전달해야하는'userUID'가 5 개인 경우'searchLDAP() '를 5 번 호출하지만'userUID [0]'이 아닌'userUID [4]'만 사용하고 userUID [1]'... etc ... –
앱이 정보를 정확히 '반환'합니까? 'setTimeout'으로 문제를 해결하는 것에 대한 질문이 아니 었습니까? – raina77ow
권자, 대답을 잘못 읽었습니다. 그것은 효과가 있었다. 도와 줘서 고마워. 'doSetTimeout'을 호출하기 전에'function() {...}'을 넣는 것을 잊었습니다. –