首页 > 解决方案 > 节点异步 axios

问题描述

帮助解决节点和异步问题。在第一个函数中,我从外部 api 获取令牌 -

const Token = function getToken(data)
return axios(config)
.then((response) =>
this.response = response.data;
return this.response.access_token;)
.catch(function (error)
console.log(error);
);

然后,在以下函数中,我可以将此令牌输出到屏幕 -

const myToken = Token(data);
myToken.then(function (result)
console.log(result); //here I see a real token
);

那我怎么能使用这个令牌呢?

Trying to do so -
const test = myToken;
console.log(test);

给予 - 未决的承诺

标签: async-await

解决方案


你可以使用await-

const token = await myToken

await将解包 promise 的值,类似于.then()但让您使用更同步的代码样式。

请注意,您还需要使用async关键字装饰上述代码所在的函数。

https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await


推荐阅读