Ricerca…


Modulo asincrono


La fonte è disponibile per il download da GitHub. In alternativa, puoi installare usando npm:

$ npm install --save async

Oltre a usare Bower:

$ bower installa async

Esempio:

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

Modulo asincrono

Per fortuna esistono librerie come Async.js per cercare di arginare il problema. Async aggiunge un sottile strato di funzioni in cima al codice, ma può ridurre notevolmente la complessità evitando il nesting di callback.

Esistono molti metodi di supporto in Async che possono essere utilizzati in diverse situazioni, come serie, parallelo, cascata, ecc. Ogni funzione ha un caso d'uso specifico, quindi prenditi un po 'di tempo per imparare quale aiuterà in quali situazioni.

Buono come Async, come qualsiasi cosa, non è perfetto. È molto facile lasciarsi trasportare dalla combinazione di serie, parallelo, per sempre, ecc., A quel punto si è di nuovo a destra dove hai iniziato con il codice disordinato. Fai attenzione a non ottimizzarlo prematuramente. Solo perché alcune attività asincrone possono essere eseguite in parallelo non sempre significa che dovrebbero. In realtà, poiché il nodo è solo a thread singolo, l'esecuzione di attività in parallelo sull'utilizzo di Async ha un guadagno di prestazioni minimo o nullo.

La fonte è disponibile per il download da https://github.com/caolan/async . In alternativa, puoi installare usando npm:

$ npm install --save async

Oltre a usare Bower:

$ bower installa async

Esempio di cascata di 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow