Zoeken…


Async-module


De bron kan worden gedownload van GitHub. Als alternatief kunt u installeren met npm:

$ npm installatie - async opslaan

Naast het gebruik van Bower:

$ bower async installeren

Voorbeeld:

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

Async-module

Gelukkig zijn er bibliotheken zoals Async.js om het probleem op te lossen. Async voegt een dunne laag functies toe aan uw code, maar kan de complexiteit aanzienlijk verminderen door callback-nesting te voorkomen.

Er bestaan veel hulpmethoden in Async die in verschillende situaties kunnen worden gebruikt, zoals series, parallel, waterval, enz. Elke functie heeft een specifieke use-case, dus neem de tijd om te leren welke in welke situaties helpt.

Zo goed als Async is, zoals alles, het is niet perfect. Het is heel gemakkelijk om je te laten meeslepen door series, parallel, voor altijd, enz. Te combineren, op welk punt je meteen terug bent naar waar je begon met rommelige code. Pas op dat u niet voortijdig optimaliseert. Het feit dat een paar asynchrone taken parallel kunnen worden uitgevoerd, betekent niet altijd dat ze dat zouden moeten doen. Aangezien Node alleen single-threaded is, hebben taken die parallel lopen bij het gebruik van Async in werkelijkheid weinig tot geen prestatiewinst.

De bron kan worden gedownload van https://github.com/caolan/async . Als alternatief kunt u installeren met npm:

$ npm installatie - async opslaan

Naast het gebruik van Bower:

$ bower async installeren

Async's waterval Voorbeeld:

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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow