我如何在循环中使用WinJs.xhr?

时间:2012-07-06 18:12:16

标签: javascript html microsoft-metro

我想调用一个url 30次,我在for循环中使用了WinJS.xhr但是我无法得到响应。我在循环外使用Winjs.xhr尝试了相同的url,我得到了响应....我可以在循环中使用WinJs.xhr吗?..请帮助我举一些例子。

这是我试过的代码.....

for (var i = 0; i < Ids.length; i++) 
{
    FromId[i] = data[i].id;;
    WinJS.xhr({ type: 'GET', url:"https://www.xyz.com/"+FromId[i] }).done(function (res) {
        sampleArray[i] = JSON.parse(res.responseText);
    });
}

如果我在循环外使用下面的代码,我可以看到res中的响应

WinJS.xhr({ type: 'GET',  url:"https://www.xyz.com/"+FromId[i] }).done(function (res) {
    sampleArray[i] = JSON.parse(res.responseText);
});

1 个答案:

答案 0 :(得分:0)

这似乎很清楚:

http://msdn.microsoft.com/en-us/library/windows/apps/br229787.aspx

WinJS.xhr只是一个围绕JS AJAX调用的简单包装器,因此没有理由在循环中运行它会导致它中断。正如其他评论家所指出的那样,几乎不可能帮助你用更多的信息来解决你的问题,但我的猜测是你期望某些东西同步工作,而且由于这是一个非同步电话,你没有得到你预期的结果。你期待他们。