2014-04-29 4 views
1

async.js 라이브러리를 사용하여이 함수가 진행되는 과정은 무엇입니까? '광장'기능에서 async js with node

var async = require('async'); 

var square = function (num, doneCallback) { 
    console.log(num * num); 
    // Nothing went wrong, so callback with a null error. 
    return doneCallback(null); 
}; 

// Square each number in the array [1, 2, 3, 4] 
async.each([1, 2, 3, 4], square, function (err) { 
    // Square has been called on each of the numbers 
    // so we're now done! 
    console.log("Finished!"); 
}); 

는 반환 doneCallback (NULL)이 새 번호가 전달 될 때마다 실행, 또는 모든 숫자가 완료된 후에는 실행됩니다?

나는 모든 숫자가 전달 된 후 console.log, IMO가 중단되어 기능을 중지 한 후 실행되었다고 생각합니다. 실제로 일어나는 일입니까?

+0

'square()가 동기식 일 때 왜'async'를 사용하고 있습니까? – Bergi

+0

이것은 내가 읽고있는 블로그 게시물에서 사용하고있는 예제이며 작동 방식을 완전히 이해하지 못했습니다. – HelloWorld

답변

2

아니요, doneCallback의 결과가 함수의 반환 값이기 때문에 doneCallbackreturn 앞에옵니다. doneCallbacksquare이 호출 될 때마다 한 번 호출됩니다.