我有以下问题:函数的执行顺序不能正常工作。我想在另一个函数中检索一个函数(一个表)的返回值。看起来很简单,但对我来说变得很复杂,因为指令执行顺序没有正确完成,然后我无法获得第一个函数的返回值。
var tabImage = 新数组;
function remplissageDynamiqueImagesParId(idImag) {
alert("1");
var ajax = new XMLHttpRequest();
ajax.open("GET", "http://localhost/jsonrecuperImagesParId.php?id=" + idImag, true);
alert("2");
ajax.send();
alert("3");
ajax.onreadystatechange = function () {
alert("4");
if (ajax.readyState == 4 && (ajax.status == 200 || ajax.status == 0)) {
eval('var data = ' + ajax.responseText + ';');`enter code here`
var theResults = data.results;
alert("5");
for (var i = 0; i < theResults.length; i++) {
tabImage[i] = new imageFromBase(theResults[i].idImage, theResults[i].url);
}
alert("taille tableau:" + tabImage.length);
return tabImage;
}
}
} //fin methode
function test() {
alert("dans test");
var tab = new Array();
tab = remplissageDynamiqueImagesParId(10);
alert("fin test");
alert("taille tableau dans test: " + tab.length);
}
运行后我得到这个:
- 丹斯测试
- 1
- 2
- 3
- 鳍测试
- 4
- 4
- 5
- 尾巴画面:5
- 4
- 5
- 尾巴画面:5
为什么是这个命令?
我怎样才能拿到桌子?