2012-01-29 24 views
1

我正在试用JS Metro示例代码表单Microsoft网站。但是,我发现,某种方式retrieveFeedAsync不起作用。我的代码被复制/从他们的网站上粘贴如下:Windows 8中的Metro SyndicationClient.retrieveFeedAsync实际上不是异步?

var syn = new Windows.Web.Syndication.SyndicationClient(); 
var url = new Windows.Foundation.Uri("Some RSS"); 
console.log("1********************onactive"); 
syn.retrieveFeedAsync(url).then(processPosts, downloadError); 
console.log("2********************onactive"); 

从JS控制台,我注意到,第二日志行从来没有得到展示,而它应该因为retrieveFeedAsync应该给一个“承诺”对象和返回立即。

任何人都有类似的问题?

回答

0

你有没有看到第二个console.log?

使用下面的代码我看到请求是异步的,并且日志中事件的顺序是:before,after,success。这是我期望的异步请求的顺序。

var syn = new Windows.Web.Syndication.SyndicationClient(); 
var url = new Windows.Foundation.Uri("http://feeds.bbci.co.uk/news/rss.xml"); 
console.log("Before"); 
syn.retrieveFeedAsync(url).then(function (data){ console.log("Success:\n"); console.dir(data); }, function (error){ console.dir(error); }); 
console.log("After");