我創建了一個小腳本來更好地理解回調。瞭解回調
從下面的腳本中,我預期的行爲是:「http.get運行並且平均需要200 ms,for循環」i「的增量平均需要2500 ms,在200 ms時,進程應該退出,腳本應該已經停止工作。爲什麼打印所有我嗎?如果我明白這更好,我想我明白回調。
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');
for循環是同步的,其中的代碼是異步的。它通過for循環啓動get async get調用。 for循環在回調被觸發前退出。互聯網上有很多文檔和示例來說明異步是如何工作的。 – bryanmac
謝謝bryanmac。我會檢查出來。它現在清晰如雲。 – PatrickJames