Поиск…


Асинхронный модуль


Источник доступен для загрузки из 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 добавляет тонкий слой функций поверх вашего кода, но может значительно снизить сложность, избегая разворота обратного вызова.

В 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