Async构造函数Javascript

问题描述 投票:0回答:1

在继承下,当子对象扩展父对象时,需要先构造父对象,然后才能创建子对象。

但是,父构造函数的属性之一是异步(webSQL数据库事务)。我想将数据库事务对象共享给所有子对象。

但是然后的问题是,子级不能立即使用事务对象,因为它是在父级创建之后的一段时间之后异步创建的。

父母:

    if(this.database = common.model.connections.Sync.getConnection()) {
        this.database.transaction(function(transaction){
            self.transaction = transaction;
        });
    }

请提供建议或询问我更多信息。将不胜感激任何设计模式。

javascript design-patterns asynchronous architecture web-sql
1个回答
0
投票

不明确支持异步构造函数。但是,有一个简单的解决方案:如果您不能将对象放入承诺中,请将承诺放入对象中。实际上,无论如何,这实际上是一个更好的解决方案,因为您可以在引用该对象的任何地方检查分辨率状态,而不仅仅是在构造时。

[请您参考我对相关问题的回答。

async constructor functions in TypeScript?

© www.soinside.com 2019 - 2024. All rights reserved.