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