0

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

是否可以从 WinJS.UI.Pages.render 承诺完成处理程序访问准备好的承诺?

4

1 回答 1

1

查看实现中的代码,看起来这实际上可能是WinJS 中的一个错误。该WinJS.UI.Pages.render方法确实返回了一个承诺,但它是在processed完成之后的一个,并且导致控制实例作为完成的承诺值返回。

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

使用在构造函数或类似的构造函数中创建的承诺很重要,因为返回的承诺将在您的页面类上调用render时完成——您返回之前,因此在完成后立即访问该值,您的方法还没有被调用。processedreadyrenderready

于 2012-11-21T18:49:28.447 回答