2013-08-06 3 views
1

async.js의 작동 방식에 대한 올바른 생각이 없을 수도 있습니다. 다음 예제에서는 콜백 함수가 실행되지 않고 왜 확실하지 않습니다.비동기 병렬 - 어떻게 작동합니까?

one 
two 

내가 비동기 웹 사이트에서 문서를 읽고 https://github.com/caolan/async#parallel 여러 번이 코드가 너무 http://codepen.io/tnguyen14/pen/GaJxl

의 펜을 만들어 검색하려고 : 콘솔에서

async.parallel([ 
    function(){ 
    console.log('one'); 
    },function(){ 
    console.log('two'); 
    } 
], function(err, results) { 
    console.log('done!'); 
}); 

, 내가 가진 이 작업을 수행하는 방법에 대한 예제 온라인은 있지만 아직 이해가되지 않습니다.

누군가가 내게 비동기 작동 방식 및 내 코드의 문제점을 설명 할 수 있으면 감사히 생각합니다.

답변

1

Async는 인수에서 비동기 제어 흐름을 기대하며, e.i 함수는 제공된 콜백 함수를 호출하여 완료에 대한 신호를 전달합니다.

async.parallel은 입력 목록에서 각 함수를 순차적으로 호출 한 다음 n 개의 입력 함수가 정확히 n 회 완료 신호를 보낸 후 결과 콜백을 호출합니다. codepen에 대한 귀하의 예제의

async.parallel([ 
    function(callback){ 
    console.log('one'); 
    $('.thing').html('one'); 
    callback(); // this is the way to tell async.parallel "I'm done". It can happen from different stack frame 
    },function(callback){ 
    console.log('two'); 
    $('.thing').html('one'); 
    setInterval(callback, 1000); // just to make it more async-ly. 
    } 
], function(err, results) { 
    console.log('done!'); 
    $('.result').html('one'); 
}); 

포크 : http://codepen.io/anon/pen/KBhob