爲什麼在此示例中請求回調沒有被調用?這 輸出爲:請求回調直到結束纔會被調用
here
now here
「做到了!」或者回調中的任何日誌命令都不會被調用。
var request = require('request');
d=0;
console.log("here");
request('http://www.google.com', function (error, response, body) {
console.log('error:', error); // Print the error if one occurred
console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
console.log('body:', body); // Print the HTML for the Google homepage.
d=1;
});
console.log("now here");
while(d==0){}
console.log("did it!");
如果我刪除「while(d == 0){}」。然後它被調用。
但不是異步調用請求的回調?它應該完成自己,然後調用它的回調?我錯在哪裏? –
是的,但在回到主線程之前,while循環觸發並始終運行。 – abdoutelb