Javascript Node JS,如何使用http.request POST到外部var?
我正在尝试返回请求外部的HTTP.request结果 这是我的密码:Javascript Node JS,如何使用http.request POST到外部var?,javascript,node.js,Javascript,Node.js,我正在尝试返回请求外部的HTTP.request结果 这是我的密码: function repromptFunction() { var http = require('http'); var options = { host: 'api.domain.com', port: 80, path: '/path/file.json', method: 'POST' }; http.request(o
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都返回未定义。我知道代码是以异步方式执行的
我应该怎么做才能确保在my Console.log中收到除此未定义结果之外的任何内容?您的
return repromptText
正在从传递给http.request的匿名函数返回。repromptText()
函数在此处不返回任何内容。您需要将您的控制台.log
放入结束回调,并/或让该回调触发您希望执行的工作。您需要使用Promise,因为请求是异步的