Recherche…


Module asynchrone


La source est disponible pour téléchargement à partir de GitHub. Alternativement, vous pouvez installer en utilisant npm:

$ npm install --save async

En plus d'utiliser Bower:

$ bower install async

Exemple:

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

Module asynchrone

Heureusement, des bibliothèques comme Async.js existent pour essayer de limiter le problème. Async ajoute une couche mince de fonctions au-dessus de votre code, mais peut considérablement réduire la complexité en évitant l’imbrication de rappel.

Il existe de nombreuses méthodes d'assistance dans Async qui peuvent être utilisées dans différentes situations, telles que les séries, les parallèles, les cascades, etc. Chaque fonction a un cas d'utilisation spécifique.

Aussi bon que Async est, comme tout, ce n'est pas parfait. Il est très facile de se laisser emporter par la combinaison de séries, de parallèles, pour toujours, etc. Veillez à ne pas optimiser prématurément. Juste parce que quelques tâches asynchrones peuvent être exécutées en parallèle ne signifie pas toujours qu'elles le devraient. En réalité, Node étant un seul thread, l'exécution de tâches en parallèle lors de l'utilisation d'Async ne génère que peu ou pas de performances.

La source est disponible pour téléchargement sur https://github.com/caolan/async . Alternativement, vous pouvez installer en utilisant npm:

$ npm install --save async

En plus d'utiliser Bower:

$ bower install async

Exemple de chute d'eau d'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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow