1. Home
  2. Dokumente
  3. Karten
  4. Datentypen
  5. ym.Async

ym.Async

Überblick

Methoden

map(list, iterator, completeopt, asyncFnopt, contextopt) ab v3

Die Map-Funktion ist eine Wrapper-Komponente, die das Verhalten eines asynchronen Mappings steuert. Sie können Ihre eigene asynchrone Steuerungsfunktion erstellen oder mapSeries und mapParallel die Aufgabe erledigen lassen.

Parameter
Name Beschreibung Datentyp Standardwert
list array
iterator function
completeopt function or null null
asyncFnopt function ym.async.parallel
contextopt object or null null
Beispielaufruf
// the iterator is a function with the current item of the array and a
// callback. At the end of an asynchronous call the done() callback must
// be triggered to end the process.
function iterator (item, done) {
    // this is a simple echo script. It will answer in a time period
    // between 0 and 500 milliseconds.
    setTimeout(function () {
        console.log(item);
        done(null, item);
    }, Math.random() * 500);
}

// The complete callback will be triggered after any array element is executed.
function complete (err, results) {
    console.log("done!", err, results);
}

// your customized asynchronous iteration control.
function asyncFn (queue, complete, context) {
    var fn;
    var results = [];
    var len = queue.length;

    // the callback will be executed in the iterator after the asynchronous command is finished.
    // It is decrementing the length of the queue until every asynchronous command is complete.
    function next(err, data) {
        results.push(data);
        if (!--len || err) {
            complete.call(context || complete, err, results);
        }
    }

    // the main loop is done very quickly. It is a parallel loop.
    while (fn = queue.pop()) {
        fn.call(context || {}, next);
    }

    // an empty array causes the execution of the complete callback
    // instantly
    if (!len) {
        complete.call(context || complete, null, results);
    }
}

// the function call for the map function
ym.async.map(["a", "b", "c"], iterator, complete, asyncFn);

mapParallel(list, iterator, completeopt, contextopt) ab v3

Führt einen Iterator auf einem beliebigen Array-Element parallel aus. Der Callback enthält das resultierende Array.

Parameter
Name Beschreibung Datentyp Standardwert
list array
iterator function
completeopt function or null null
contextopt object or null null
Beispielaufruf
// the iterator is a function with the current item of the array and a
// callback. At the end of an asynchronous call the done() callback must
// be triggered to end the process.
function iterator (item, done) {
    // this is a simple echo script. It will answer in a time period
    // between 0 and 500 milliseconds.
    setTimeout(function () {
        console.log(item);
        done(null, item);
    }, Math.random() * 500);
}

// The complete callback will be triggered after any array element is executed.
function complete (err, results) {
    console.log("done!", err, results);
}

// the function call for the map function
ym.async.mapParallel(["a", "b", "c"], iterator, complete);

mapSeries(list, iterator, completeopt, contextopt) ab v3

Führt einen Iterator auf einem beliebigen Array-Element nacheinander aus. Der Callback enthält das resultierende Array.

Parameter
Name Beschreibung Datentyp Standardwert
list array
iterator function
completeopt function or null null
contextopt object or null null
Beispielaufruf
// the iterator is a function with the current item of the array and a
// callback. At the end of an asynchronous call the done() callback must
// be triggered to end the process.
function iterator (item, done) {
    // this is a simple echo script. It will answer in a time period
    // between 0 and 500 milliseconds.
    setTimeout(function () {
        console.log(item);
        done(null, item);
    }, Math.random() * 500);
}

// The complete callback will be triggered after any array element is executed.
function complete (err, results) {
    console.log("done!", err, results);
}

// the function call for the map function
ym.async.mapSeries(["a", "b", "c"], iterator, complete);

parallel(queue, completeopt, contextopt) ab v3

Führt asynchrone Methoden parallel aus und löst nach Beendigung einen Callback aus.

Parameter
Name Beschreibung Datentyp Standardwert
queue Die Warteschlange der Funktionen. Array.<function()>
completeopt Der Callback nach Beendigung. function or null null
contextopt Der Kontext für this. function or null null

series(queue, completeopt, contextopt) ab v3

Führt asynchrone Methoden nacheinander aus und löst nach Beendigung einen Callback aus.

Parameter
Name Beschreibung Datentyp Standardwert
queue Die Warteschlange der Funktionen. Array.<function()>
completeopt Der Callback nach Beendigung. function or null null
contextopt Der Kontext für this. function or null null

Wie können wir helfen?