我写了一个小模块,使用'请求'模块。我想从另一个脚本中调用它,并使用Get on the calling函数的结果,如下所示:
var request = require('request');
function SendGet(uri) {
var outer_body = "test";
request(uri, function(error, response, body) {
console.log(body);
outer_body = body;
});
console.log(outer_body);
return outer_body;
}
exports.GetRequest = SendGet;
然后我像这样使用它:
var MyReq = require('./reqtest');
var uri = "http://api.myhost.com";
var result = MyReq.GetRequest(uri);
console.log("My result is:",result);
当我运行它时,我在控制台中看到使用GetRequest时响应的主体,但返回的变量仍然具有用于初始化它的值:
c:\node messages.js
test
My result is: test
<full body here>
c:\
如何将身体传回呼叫功能? 谢谢
答案 0 :(得分:0)
试试这个
var request = require('request');
function SendGet(uri) {
var outer_body = "test";
outer_body = request(uri, function(error, response, body) {
console.log(body);
return body;
});
console.log(outer_body);
return outer_body;
}
exports.GetRequest = SendGet;
在这里,您将回调的结果返回给变量outer_body