繁体   English   中英

如何在node.js中获取http响应?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM