0

我的假设是 WinJS.Application.queue 事件适用于在全局上下文中排队应用程序事件(例如检查点、卸载、激活、加载...),但与异步调用无关。WinJS.Promise.join 可以在事件处理程序 setPromise() 中使用,以确保在继续之前完成所有异步调用。任何上下文或澄清表示赞赏。

谢谢!

4

1 回答 1

2

他们是两个完全不同的东西。

WinJS.Application.queueEvent 用于向使用 WinJS.Application.addEventHandler 函数注册的处理程序引发事件。随着时间的推移,可能会引发多个事件,并且可能会多次调用处理程序。

WinJS.Promise.join 用于创建一个新的 Promise 对象,该对象在您传递给它的所有 Promise 完成时完成。您需要一开始就做出承诺,一旦承诺完成(成功或失败),它就会保持完成。您的处理程序只会运行一次。

它们都用于异步处理,但它们用于不同风格的异步。Promise 用于某些会发生并做某事并在稍后返回的事情,但它们只会运行一次。在您的应用程序的整个生命周期中,事件可能会发生多次。

于 2012-10-30T23:16:32.107 回答