我的假设是WinJS.Application.queue事件适用于在全局上下文中排队应用程序事件(例如检查点,卸载,激活,加载......),但与异步调用无关。可以在事件处理程序setPromise()中使用WinJS.Promise.join,以确保在继续之前完成所有异步调用。任何背景或澄清都表示赞赏。
谢谢!
答案 0 :(得分:2)
他们是完全不同的两件事。
WinJS.Application.queueEvent用于将事件引发到使用WinJS.Application.addEventHandler函数注册的处理程序。随着时间的推移可能会引发多个事件,并且可能会多次调用处理程序。
WinJS.Promise.join用于创建一个新的promise对象,该对象在您完成所有承诺时完成。您需要承诺开始,并且一旦承诺完成(成功或失败),它就会保持完成。你的处理程序只运行一次。
它们都用于异步处理,但它们用于不同类型的异步。 Promise用于某些东西,它会起作用,然后在某些时候返回,但它们只会运行一次。事件可能会在应用的整个生命周期内多次发生。