수색…


비동기 모듈


소스는 GitHub에서 다운로드 할 수 있습니다. 또는 npm을 사용하여 설치할 수 있습니다.

$ npm install --save async

Bower를 사용하는 것은 물론 :

$ bower install async

예:

var async = require("async");
async.parallel([
    function(callback) { ... },
    function(callback) { ... }
], function(err, results) {
    // optional callback
});

비동기 모듈

고맙게도 Async.js와 같은 라이브러리는 문제를 해결하려고 시도합니다. Async는 코드 위에 함수의 얇은 레이어를 추가하지만 콜백 중첩을 피함으로써 복잡성을 크게 줄일 수 있습니다.

Series, Parallel, Waterfall 등과 같이 다양한 상황에서 사용할 수있는 많은 헬퍼 메소드가 Async에 존재합니다. 각 함수는 특정 유스 케이스를 가지고 있으므로 어떤 상황에서 어떤 것이 도움이되는지 배우려면 시간이 필요합니다.

Async만큼이나 완벽하지는 않습니다. 시리즈, 평행, 영원히 등을 결합하여 매우 쉽게 수행 할 수 있습니다. 어느 지점에서 당신은 지저분한 코드로 시작했는지 바로 알 수 있습니다. 조기에 최적화하지 않도록주의하십시오. 몇 가지 비동기 작업이 병렬로 실행될 수 있다고해서 반드시 필요한 것은 아닙니다. 실제로 Node는 단일 스레드이므로 Async를 사용하여 병렬로 작업을 실행하면 성능이 거의 또는 전혀 향상되지 않습니다.

소스는 https://github.com/caolan/async 에서 다운로드 할 수 있습니다. 또는 npm을 사용하여 설치할 수 있습니다.

$ npm install --save async

Bower를 사용하는 것은 물론 :

$ bower install async

비동기식 폭포 예제 :

var fs = require('fs');  
var async = require('async');

var myFile = '/tmp/test';

async.waterfall([  
    function(callback) {
        fs.readFile(myFile, 'utf8', callback);
    },
    function(txt, callback) {
        txt = txt + '\nAppended something!';
        fs.writeFile(myFile, txt, callback);
    }
], function (err, result) {
    if(err) return console.log(err);
    console.log('Appended text!');
});


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow