异步构造函数Javascript

时间:2014-09-03 16:13:24

标签: javascript design-patterns asynchronous architecture web-sql

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

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

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

父:

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

请告知或询问我更多详情。将欣赏任何设计模式。

1 个答案:

答案 0 :(得分:0)

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

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

async constructor functions in TypeScript?