我经常创建诺言,以阻止对类实例的某些调用,直到完成一些异步初始化为止(参见示例代码)。
我还注意到运行基准测试,即使已解决诺言的.then()
调用也相当昂贵。封装在已解析的.then()
中,将每秒运行约5000万次调用的测试功能降低为每秒约320,000次调用。
是否有更好的做法来像Promises一样阻止呼叫?
简单示例:
class SomeClass {
constructor() {
this.init_promise = new Promise(resolve => {
return fetch("some json")
.then(res => {
// Do things with data.
return resolve();
});
});
}
getSomething() {
return this.init_promise
.then(() => {
// Return something
});
}
}