2012-01-29 58 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");