Windows 8 Metro SyndicationClient.retrieveFeedAsync в Javascript на самом деле не Async? - PullRequest
1 голос
/ 29 января 2012

Я пробую пример кода JS Metro с сайта Microsoft.Тем не менее, я обнаружил, что каким-то образом 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 я заметил, что 2-я строка журнала никогда не отображалась, хотя это должно происходить, поскольку retrieveFeedAsync должен выдавать объект «обещание»и немедленно вернитесь.

У кого-нибудь были подобные проблемы?

1 Ответ

0 голосов
/ 31 января 2012

Вы когда-нибудь видели второй console.log?

Используя приведенный ниже код, я вижу, что запрос асинхронный, а порядок событий в журнале: до, после, успеха. Какой порядок я бы ожидал для асинхронного запроса.

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");
...