为什么在此示例中请求回调没有被调用?这 输出为:请求回调直到结束才会被调用
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