返回http.request内部的变量?
function http_get (ip, port) {
let WAN = false;
//创建一个http.ClientRequest对象
var data = { //这是需要提交的数据
msg: 'can you hear me?',
time: new Date().getTime()
};
var content = qs.stringify(data);
var options = {
host : ip,
port : port,
path : '/',
method : "POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
}
};
var request = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
if (res.statusCode == '200') {
WAN = true;
}
console.log(WAN) //true
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
console.log("get respones");
let data = '';
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
res.on('end', function (e) {
console.log('-----end----')
});
});
request.on('error', function (e) {
console.log('problem with request: ' + e.message);
});
request.write(content);
request.end(); //发送这个请求
return WAN;
}
let a = http_get("127.0.0.1", 3000)
console.log('a:'+ a); //a:false
下面打印出a:false,上面打印出true,要怎么才能打印出a:true?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
把中间的
http.request
Promise化
或者使用Async/Await
就可以了,可以参考文章