2016-05-13 8 views

Antwort

0

Rückrufe sind nichts anderes als die Funktion, die Sie als Parameter

Schauen Sie sich das Beispiel

function printResult(err,result) { 
    if(err) { 
    console.log('something went wrong'); 
    }else{ 
    console.log(result); 
    } 
} 

function giveMeDouble(val, cb){ 
    if(val!=2){ 
    var err = new Error("value is not 2"); 
    cb(err); 
    } 
    cb(null,2*2); 
}   
// Passing printResult function as a callback to the giveMeDoubleFunction 
giveMeDouble(2,printResult); 

Der andere Weg, der tut das gleiche

giveMeDouble(2,function(err,result){ 
if(err) { 
    console.log('something went wrong'); 
    }else{ 
    console.log(result); 
    } 
}); 
auf die andere Funktion übergeben

Generell in Loopback-Form des Rückrufs ist der erste Parameter Fehler und der zweite ist der Erfolg res wenn alles gut ging aber Sie können immer mehr Parameter abhängig von der Funktion haben, die Sie anrufen. In Ihrem Fall ist das Callback-Formular

dataSource.automigrate(model, function(err,result) { 
}) 
+0

Welche Struktur haben die Parameter 'err' und' result'? Wo hast du das gefunden? Sollte eine gute API diese Information geben? – Alexander

+0

Fehler kann diese mögliche Struktur Verweislink für diese https://docs.strongloop.com/display/public/LB/Error+Object haben und das Ergebnis hängt von der Funktion ab, die Sie aufrufen, zB Model.count (query, function (err, res) {}) // In diesem Fall ist res die tatsächliche Anzahl Ihrer Abfragen – RootHacker

Verwandte Themen