如何从WinJS.UI.Pages.render传回值

时间:2012-11-21 12:55:31

标签: windows-8 winjs

我正在使用WinJS.UI.Pages.render调用将片段加载到页面中。我read that一个页面的ready方法可以返回一个在页面准备好时完成的promise。我认为这个承诺是WinJS.UI.Pages.render方法返回的,但事实并非如此。我认为这将是一个很好的机制,可以将值从片段异步传递回调用者。

是否可以从WinJS.UI.Pages.render promise done处理程序访问ready promise?

1 个答案:

答案 0 :(得分:1)

查看实现中的代码,看起来这样的实际上可能是WinJS中的 bug WinJS.UI.Pages.render方法确实会返回一个承诺,但它是processed完成之后的结果,并且控制实例的结果已返回为完成的承诺价值。

您最好的选择是作为您的Page类成员添加额外的承诺。然后当你得到render时,剥离那个承诺,而不是render承诺本身。

使用构造函数或类似函数中创建的承诺非常重要,因为render返回的承诺将在页面类调用processed时完成 - 之前< / strong>您的ready返回,因此在render完成后立即访问该值,您的ready方法已 尚未被调用。