What is qx.event.type.Event.addPromise() used for?



我正在浏览apiviewer,我注意到类qx.event.type.event中有一个方法addpromise(promise(。我在Github的Qooxdoo组织中搜索了用例,但找不到任何用例。有人可以提供该方法使用的示例吗?

这是因为收集诺言通常依赖于返回承诺的功能,但是事件启动API被烤出来,返回值是布尔值(请参阅mevent.js中的 fireEventfireDataEvent。/p>

在其他情况下,我们还使用Async后缀(例如称为" myproperty"的属性可以具有setMyPropertyAsync(添加了一个新功能,该功能使我们能够通过代码与旧的非促销代码分离基于承诺的路径 - 因此,我们能够引入新功能,同时保持严格的向后兼容性(否则需要破坏API的功能(

但是,事件是不可能的,因为fireEvent/fireDataEvent是如此无处不在且根本同步,因此它们必须必须继续返回布尔值。

我们正在交易以下事实:事件通常以异步方式使用,而fireEvent的布尔返回值仅用于确定事件是否为preventDefault() -ED。这使得事件不能异步 preventDefaulted()(嗯,它们实际上可能是可以的,但是可以想象的情况可能不是100%可靠的情况(。

>

但是,由于返回值不是承诺,也不能束缚,因此我们必须提供一种机制来链接它 - addPromise方法允许呼叫者向链条添加诺言,然后该框架将稍后抓住这些承诺致电event.promise()-请参阅qx.event.Registration.firenonBubblingEventAsync。

相关内容

最新更新