私はpromiseを初めて使用し、bluebirdのドキュメントを使用して非同期コードからデータを取得します
私が試したのは次のとおりです。
エラーは次のとおりです。
getToken.then
は関数ではありません
どうすればそれを回避できますか?
このファイルconnection.js
return connection.getToken.then(function(connToken){
console.log(connToken);
}).catch({
})
これはmoduleBのgetTokenのコードです
const request = require("request-promise");
const Promise = require("bluebird");
module.exports = {
getToken: function () {
return new Promise((resolve, reject) => {
let options = {
method: 'POST',
url: 'https://authentication.arc.com/oauth/token',
headers: {
grant_type: 'client_credentials',
authorization: 'Q0MDdmMCFiMTc0fGNvlQVRDWThDNDFsdkhibGNTbz0=',
accept: 'application/json;charset=utf-8',
'content-type': 'application/x-www-form-urlencoded'
},
form: {
grant_type: 'client_credentials',
token_format: 'opaque&response_type=token'
}
};
request(options)
.then(function (body) {
return body;
})
.catch(function (err) {
return err;
});
})
}
}
実際に関数を呼び出す必要があります。
connection.js
return connection.getToken() // note the parentheses ()
.then(function(connToken){
console.log(connToken);
})
.catch(function(error){
console.error(error);
});