【发布时间】:2017-06-15 11:35:33
【问题描述】:
我需要调用异步函数来获取我的身份验证令牌。在导出中,我想包含此 fn 的返回值。
我的第一次尝试:
const token = await sessionHandler.getToken();
export const httpService = axios.create({
...
headers: {
"auth-token": token
...
}
});
当然这不起作用,因为await 不在异步函数中。
所以我可以把它包装在一个异步函数中,对吧?不,因为我必须使用回调。再说一次,我不会在顶层进行导出,这也不起作用。
解决这个问题的最佳方法是什么?
【问题讨论】:
-
为什么要求不使用回调?这是您自己设定的要求,还是因为您不知道如何通过回调解决它?
-
@t.niese 出口必须是顶级的
-
似乎您正试图将异步转换为同步 - 这就是您要问的吗?
-
我还是不明白。使用身份验证令牌的 http 请求,ist async,那么为什么不能在第一次需要时请求身份验证令牌?
-
在axios实例中每次调用都会用到token,所以我想先拿到token再导出服务
标签: javascript asynchronous async-await es6-modules ecmascript-next