【发布时间】:2014-08-24 02:35:07
【问题描述】:
这是我正在尝试做的(实际问题有所不同,但概述如下):
- 我有一个数组 [A..Z]。
-
对于上述数组中的每个字母,我有另一个数组:
someArray[alphabet] = [1..100] //another array -
对于 someArray[alphabet] 中的每个数字,还有另一个数组:
anotherArray[number] = [a..z,A..Z,1..1000]
假设对于每个 alphabet,我获取 someArray[alphabet],并且对于 someArray[alphabet] 中的每个 number /strong>,我从服务器获取 anotherArray[number] - 这需要时间。
此外,获取它们的函数如下 - 我进行 jQuery post 调用以从服务器获取数据。我需要按顺序执行它们。
getAlphabets()
{
//I get them here
//For Each alpha, I call:
getNumbers(alpha);
}
getNumbers(alpha)
{
//I get someArray here.
//For Each element in someArray
//getAnotherArray(element)
}
getAnotherArray(number)
{
//I get them here
//For Each element in anotherArray
//get all [a..z,A..Z,1..1000]
//display them
}
问题是 getNumbers(alpha) 的迭代没有等待 getAnotherArray(previousIteration) 完成。执行(函数调用并行运行(A..Z 的同时执行)而不是其他方式。
我的步骤:
我能够按预期检索所有数据,但不是按顺序检索。
我尝试使用 flags 和 setInterval, clearInterval 来允许/禁止下一次迭代 - 它们没有按预期工作。
-
我也尝试过使用类似 - getAlphabets() && getNumbers() & getAnotherArray() 之类的东西,以为会按顺序执行,但我错了。
李>
【问题讨论】:
-
您是否必须对 3D 数组中的每个单元格进行单独的 ajax 调用,并且希望它们按顺序运行?这些数组是否已经存在并且您只想遍历它们为每个单元格进行 ajax 调用?还是在进行 ajax 调用时构建数组?
-
我正在使用 ajax 调用构建数组。首先,我得到字母列表。然后,对于每个字母表,我调用 getNumbers(),对于 getNumbers() 返回的数组中的每个数字,我调用 getAnotherArray() -> 它传递适当的参数,获取相应的元素并从中构建一个数组。我可以一次完成所有这些,但我需要它们是连续的。
标签: javascript jquery arrays post