Ich erstelle ein kleines Skript, um Callback besser zu verstehen.Callbacks verstehen
Von dem folgenden Skript war das erwartete Verhalten: "http.get wird ausgeführt und dauert im Durchschnitt 200 ms. Das For-Schleife" i "dauert im Durchschnitt 2500 ms. Bei 200 ms sollte der Prozess beendet werden Skript sollte aufgehört haben zu arbeiten. Warum ist es alle i Druck? Wenn ich dies besser zu verstehen, ich glaube, ich Rückruf verstehen.
var http = require("http");
var starttime = new Date();
//Function with Callback
for (var j =0; j<10; j++){
http.get({host : 'nba.com'}, function(res){
console.log("Time Taken = ", new Date() - starttime, 'ms');
process.exit();
}).on('error', function(er){
console.log('Got Error :', er.message);
})
}
//Loop that exceeds callback trigger time
for(var i=1; i<10000; i++){
console.log(i);
}
console.log("Time Taken = ", new Date() - starttime, 'ms');
Die for-Schleife ist synchron und der darin enthaltene Code ist asynchron. Es läuft durch die for-Schleife, die den get async Get Call auslöst. Die For-Schleife endet, bevor die On-Callbacks ausgelöst werden. Es gibt viele Dokumente und Beispiele im Internet, um zu veranschaulichen, wie async funktioniert. – bryanmac
Danke bryanmac. Ich werde sie überprüfen. Es ist jetzt klar wie Wolke. – PatrickJames