Skip to content

Get a value from a callback in another function NodeJS

I’m desperately trying to recover the value of a callback function but I have no idea how to do that. I have a function where I execute this code:

if (final.error !== undefined) {
                console.log("Initial authentication:", final.error_description, "Please refresh the authentication grant");
            } else {
                tokens.set('access_token', final.access_token)
                    .set('expires_in', final.expires_in)
                    .set('refresh_token', final.refresh_token)
                    .set('refresh_date', moment())

Who performs this function:

function extAuthCallback(result) {
    return result;

And which is called by this variable:

let authentication = auth.extAuth(access_token, auth.extAuthCallback);

I would like my `authentication’ variable to take the value returned in the callback, and I have no idea how to do that. Returning the callback function to my original function doesn’t work.


You could use a promise, would need to use an async function as well though.

function asyncExtAuth(access_token) {
  return new Promise(resolve => {
    auth.extAuth(access_token, resolve);
let authentication = await asyncExtAuth(access_token);