[英]How to get http response in node.js?
node.js:6.9.4
我写了类似下面的代码,但它不能用于我想要的东西。
var request = require(‘superagent’);
var url = “https://XXX”
var login_id=“YYY”
var password=“ZZZ”
function get_token(url,login_id,password){
request
.post(login_url)
.set(‘X-XXX-HEADER, ‘xxx’)
.set(‘X-yyy-HEADER, ‘yyy’)
.type('form')
.send({login_id: login_id, password: password})
.end(function(err, res){
console.log(res.text); // show response
return res.text;
})
}
var auth = get_token(login_url, login_id, password);
console.log(auth); // show undefined
我想创建函数来返回响应数据,并使用这样的。
// define function get_token
res = get_token(login_url, login_id, password);
// procedure that return token with parsing res
function getXXX(otherurl, token)
我能怎么做? 在node.js中有什么好方法?
你应该使用回调
var request = require(‘superagent’);
var url = “https://XXX”
var login_id=“YYY”
var password=“ZZZ”
function get_token(url, login_id, password, callback){
request
.post(login_url)
.set(‘X-XXX-HEADER, ‘xxx’)
.set(‘X-yyy-HEADER, ‘yyy’)
.type('form')
.send({login_id: login_id, password: password})
.end(function(err, res){
console.log(res.text); // show response
return callback(err, res);
})
}
get_token(login_url, login_id, password, function (err, result) {
var auth = result.text;
});
更改get_token以return request..
并更改`get_token(login_url,login_id,password).then(console.log);
您需要阅读并花时间学习JavaScript Promises。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.