Javascript 在初始化之前阻止调用的良好实践?

Javascript 在初始化之前阻止调用的良好实践?,javascript,asynchronous,promise,Javascript,Asynchronous,Promise,我经常创建承诺来阻止对类实例的一些调用,直到一些异步初始化完成(参见示例代码) 我还注意到,运行基准测试时,promise的.then()调用相当昂贵,即使它已经解决了。当封装在已解析的.then()中时,每秒运行约50000000次调用的测试函数减少到每秒约320000次调用 有没有更好的方法像承诺一样阻止通话 简单示例: 你会每秒叫它几百万次吗?如果是这样,您可以在可能的情况下通过同步执行操作(在解析时设置布尔属性)来避免开销。否则,async getSomething()。。。你需要打电话

我经常创建承诺来阻止对类实例的一些调用,直到一些异步初始化完成(参见示例代码)

我还注意到,运行基准测试时,promise的
.then()
调用相当昂贵,即使它已经解决了。当封装在已解析的
.then()
中时,每秒运行约50000000次调用的测试函数减少到每秒约320000次调用

有没有更好的方法像承诺一样阻止通话

简单示例:


你会每秒叫它几百万次吗?如果是这样,您可以在可能的情况下通过同步执行操作(在解析时设置布尔属性)来避免开销。否则,
async getSomething()。。。你需要打电话吗?那么每秒5000万次?甚至每秒32万次?then引入了几毫秒的延迟-这会影响你的网站吗?不要使用“谢谢所有人”!我预计它在一秒钟内最多运行几千次。由于我们的应用程序速度如此之慢,我只是希望在进行任何大型重写之前进行简单的优化。
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
            });
    }
}