Ich habe das folgende Snippet enthält ein Versprechen:Holen Sie den Rückgabewert einer Funktion innerhalb Versprechen
...
return Promise.all([postHTTP()])
.then(function (results) {
loginToken = results[0].data.token;
console.log("token:" + loginToken);
})
.catch(error => {
throw error;
});
...
Und die Funktion:
function postHTTP() {
request.post({
headers: { 'content-type': 'application/json' },
url: 'http://localhost:55934/api/Token',
body: { "email": "[email protected]", "password": "test" },
json: true
}, function (error, response, body) {
if (error) {
throw error;
}
console.log("return test");
return body.token;
});
Altough der String "Return-Test" gedruckt wird, es gibt mir einen Fehler in der Verheissung wie folgt:
(node:15120) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: Cannot read property 'token' of undefined
Kann mir jemand helfen, einen zu finden Lösung oder die Problemquelle dafür?
Vielen Dank im Voraus, Diogo Santos
ich Sie nicht sehen, 'return' Ihre' request.post' in 'postHTTP'; Es gibt also undefined zurück, was zu einem n Fehler führen würde, wenn Sie es nicht in Promise.all() eingefügt hätten. – skyboyer