-3

我想调用一个 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);
});
4

1 回答 1

0

这似乎很清楚:

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

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

于 2012-07-06T19:43:07.747 回答