我试图在请求之外返回HTTP.request结果。
这是我的代码:
function repromptFunction() {
var http = require('http');
var options = {
host: 'api.domain.com',
port: 80,
path: '/path/file.json',
method: 'POST'
};
http.request(options, function(res) {
res.setEncoding('utf8');
var data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function() {
var recv = JSON.parse(data);
var repromptText = recv.forecast.txt_forecast.forecastday[0].fcttext_metric;
return repromptText;
});
}).end();
}
console.log('final value is ' + repromptFunction());
但每次,console.log都返回undefined。我知道代码是以异步方式执行的。
我应该怎么做才能确保收到任何但未将此未定义结果收到我的Console.log?
答案 0 :(得分:0)
您的<h1 id="getTIME"> Read something here </h1>
正在从传递给return repromptText
的匿名函数返回。 http.request
函数在此处不返回任何内容。您需要将repromptText()
放入最终回调和/或让回调触发您想要的工作。