for(var j = 0; j < tempArray.length; j ++){
$.getJSON('http://localhost:8080/predict', tempArray[j])
.fail(function(data,textStatus, error) {
Probability = data.responseText;
console.error("getJSON failed, status: " + textStatus + ", error: "+error);
})
.done(function(data) {
console.log(data);
Probability = data.classProbabilities[0];
Array.prototype.push.call(resultPercentage, Probability);
});
}
console.log(resultPercentage);
tempArray
は10個のオブジェクトの配列です。 forループを使ってjsonに配列を渡しています。
resultPercentage
は、10の異なる結果を1つのアレイに印刷しています。
Json for forループを呼び出すたびに、その配列の結果のシーケンスを変更し続けます。forループを使用してjsonを複数回呼び出す際に問題が発生しました
問題は何かを明確にすることができますか?あなたは10の期待される結果があるので、あなたは '.get()'が非同期だと知っていますよね? –
@LouysPatriceBessette:はい、どうすれば結果を同期させることができますか? "resultPercentage"を返すたびに、ランダムシーケンスの配列が返されます。 – DRules
これは、ほぼ同時にサーバーに送信された複数のajaxリクエストを「並べ替える」ことはできないと思います。治療の順序はサーバーによって異なります。あなたは何をすべきでしょうか?データと一緒に "識別子"を送り、この識別子を応答と共に返すように管理します。それを使ってそれらを「並べ替える」。 - Like ...代わりにオブジェクトを送信する: '{data:tempArray [j]、id:j}' –