Javascript中的Windows 8 Metro SyndicationClient.retrieveFeedAsync实际上不是异步?

时间:2012-01-29 13:54:00

标签: javascript html5 windows-8 microsoft-metro

我正在尝试使用Microsoft Metro站点的JS Metro示例代码。但是,我发现以某种方式,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应该给出一个“promise”对象并立即返回。

有人有过类似的问题吗?

1 个答案:

答案 0 :(得分: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");