2017-01-27 14 views
1

node.js:6.9.4node.jsでhttp応答を取得する方法は?

私は以下のようなコードを書いていますが、私が望むように動作しません。

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では何が良い方法ですか?

答えて

0

あなたはreturn request..にget_tokenコールバック

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; 
}); 
+0

ありがとう、私はコールバックを使用しようとします。 – rootpetit

0

変更を使用すると `get_token(LOGIN_URL、LOGIN_ID、パスワード).then(にconsole.log)を変更する必要があります。

JavaScriptの約束を読んだり、時間を割いたりする必要があります。

+0

ありがとうございます。私はjavascriptの約束を読もうとします。 – rootpetit

関連する問題