怎么检测$.get是否获取完信息,再执行下一步
jQuery怎么检测$.get读取接口的数据是否缓存完,缓存完再执行下一条指令怎么做?
我想做个打票机系统,他是连接自己写的接口方法,先获取订单后再把订单截去分隔符,再循环给下一个$.get方法有多少条订单就循环多少个$.get方法来获取详细订单信息。
问题在于,他由于没有返回完全部订单号就执行了下列方法,查询详细订单信息顺序就错乱了,有什么办法检测他是否完全返回所有信息再执行下一条?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
欧阳克2016-11-12 09:52:51
var lock = false;if(lock==false)(
1 2 3 4 |
|
⋯⋯
⋯⋯
⋯⋯
1 2 |
|
)
手机写的,希望你能看懂吧
三叔2016-11-12 09:51:37
针对此需求,你有3种解决方案:
使用ajax的「同步」模式
1 2 3 4 5 6 7 8 |
|
这绝对是按照先后顺序执行的
使用jQuery的Deferred对象
比如必须等待3个ajax请求完毕,才能执行下一个步骤
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
当然了,大部分都是循环来弄的,于是我们可以这样
1 2 3 4 5 6 7 8 9 |
|
使用邪恶金字塔(Pyramid of Doom)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
看你哪个能理解就用哪个吧,以上代码都是伪代码,需要自己修改后运行