ich in auth.js folgenden Code habenundefined Erste von JavaScript-Funktion in NodeJS zurück
let request = require("request");
function getToken(callback) {
let options = { method: 'POST',
url: 'https://testsite/openid-connect/token',
headers:
{
'content-type': 'application/x-www-form-urlencoded'
},
form:
{
grant_type: 'password',
username: 'admin',
password: 'password',
client_id: '123'
}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
callback(body.access_token);
});
}
module.exports = {
getToken,
};
und ich bin die Methode getToken aus einer anderen index.js Datei als
let authServ = require('./auth');
const token = authServ.getToken();
console.log(token);
nennen, aber ich Get "undefined" zurückgegeben in Variable "Token" anstelle des eigentlichen Token. Kann mir bitte jemand helfen, wo ich falsch liege?
Sie einen Rückruf senden. benutze es (: –
Ich weiß nicht, was du erwartest. 'getToken()' hat keinen Rückgabewert und die einzige Möglichkeit, Zugriff auf das asynchron abgerufene Token zu bekommen, ist die Verwendung des Callbacks, das die Funktion benötigt. – jfriend00