【发布时间】:2016-04-28 15:11:48
【问题描述】:
我在 Node.js 应用程序中有以下代码:
var curlStatus = "";
var curlBody = "";
var curlHeaders = "";
var curlInfo = curl.on('end', function( statusCode, body, headers){
curlStatus = statusCode;
curlBody = body;
curlHeaders = headers;
//this.close();
return {status: curlStatus, body: curlBody, headers: curlHeaders};
});
curl.on('error', function(){
console.log("CURL ERROR");
});
curl.perform();
在return {status: curlStatus, body: curlBody, headers: curlHeaders}; 上放置断点表明body、headers 和statusCode 已成功填充。但是,在curl.perform() 之后放置断点表明curlStatus、curlBody 和curlHeaders 变量仍然是空字符串。如何将信息传递给父函数?
【问题讨论】:
-
javascript 中的执行本质上不是顺序的(最好这样想),传递给
curl.on('end')的回调函数在curl.perform之后的很晚的时间执行。因此,紧跟在curl.perform()之后的断点不会显示任何内容。
标签: javascript node.js curl libcurl node-libcurl