在继承下,当子对象扩展父对象时,需要首先构造父对象,然后才能创建子对象。
但是,父构造函数的一个属性是async(webSQL数据库事务)。我想将数据库事务对象共享给它的所有孩子。
但问题是,孩子们不能立即使用事务对象,因为它会在父母创建之后异步创建一段时间。
父:
if(this.database = common.model.connections.Sync.getConnection()) {
this.database.transaction(function(transaction){
self.transaction = transaction;
});
}
请告知或询问我更多详情。将欣赏任何设计模式。
答案 0 :(得分:0)
不明确支持异步构造函数。但是,有一个简单的解决方案:如果您不能将对象放入承诺中,请将承诺放入对象中。实际上,无论如何,这实际上是一个更好的解决方案,因为您可以在引用该对象的任何地方检查分辨率状态,而不仅仅是在构造点。
我请您参考我对相关问题的回答。