J'utilise la bibliothèque de demandes pour effectuer des appels externes depuis l'API. https://github.com/request/request . J'utilise l'extension native promise/async. https://github.com/request/request-promise-native .
Cependant, je ne suis pas en mesure de vérifier le code d'état, il n'est pas défini.
public async session(): Promise<any> {
const url = <removed>;
const options = {
uri: url,
headers: {
'Authorization': this.config.token
},
json: true,
body: {
}
}
try {
const res = await request.post(options);
if (res.statusCode !== 200) {
// do something
}
console.log(res);
console.log("statuscode", res.statusCode)
return res;
} catch (err) {
return err;
}
}
Le res.statusCode n'est pas défini.
Selon la documentation, nous devons définir dans les options que nous voulons renvoyer la réponse complète.
https://github.com/request/request-promise#get-the-full-response-instead-of-just-the-body
const options = {
resolveWithFullResponse: true
}
Je pense que l'objet res pourrait ne pas être défini. vous pouvez essayer de demander comme rappel
request(options, function (error, response, body) {
console.log('statusCode:', response && response.statusCode);
});
ou vous pouvez faire comme ça https://www.npmjs.com/package/request-promise
var options = {
uri: 'http://the-server.com/will-return/404',
simple: true,
transform: function (body, response, resolveWithFullResponse) { /* ... */ }
};
rp(options)
.catch(errors.StatusCodeError, function (reason) {
// reason.response is the transformed response
});