-3

URL を 30 回呼び出したいのですが、for ループで WinJS.xhr を使用しましたが、応答を取得できません。そして、ループの外で Winjs.xhr を使用して同じ URL を試してみたところ、応答が返ってきました..ループで WinJs.xhr を使用できますか?..pls はいくつかの例を手伝ってくれます。

これは私が試したコードでした.....

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 に答える