Windows应用商店应用:WinJS.Promise.join和queueEvent之间的区别

时间:2012-10-30 17:21:22

标签: windows-8 microsoft-metro winjs windows-store-apps

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

谢谢!

1 个答案:

答案 0 :(得分:2)

他们是完全不同的两件事。

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

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

它们都用于异步处理,但它们用于不同类型的异步。 Promise用于某些东西,它会起作用,然后在某些时候返回,但它们只会运行一次。事件可能会在应用的整个生命周期内多次发生。