【发布时间】:2018-06-26 14:47:01
【问题描述】:
在随后使用该类之前,确保在类构造函数中完成某些异步代码的最新方法是什么?
具体来说,API 客户端类如何在允许更多方法调用之前检索访问令牌,如下所示?
class API_Client {
constructor(...) {
# Below should 'block' other method calls until token is assigned
this.login().then(res => {
this.token = res.data.token;
});
}
async login() {
return makeRequest(...) # <-- Promise which returns access token data
}
}
const client = new API_Client(...);
client.someAuthOnlyMethod() # <-- Should only happen after the `login` method completes.
我找到了older answers,但不太明白如何解决链接答案留下的第一条评论中提出的问题。
【问题讨论】:
-
如果你需要一个异步操作的结果来构造一个对象,那么最新的方法是在promise的
.then()阶段调用你的构造函数。
标签: javascript promise ecmascript-2017