首页 新闻 会员 周边 捐助

ajax 同时异步执行多个请求时,返回请求的顺序

0
悬赏园豆:30 [已解决问题] 解决于 2012-07-20 18:11

比如:

xmlhttp1.sendRequest(this._url1,new Object, 'get', true);

xmlhttp2.sendRequest(this._url2,new Object, 'get', true);这样执行后,假如1的执行需要2秒,2的请求需要1秒,那么会先执行哪个请求的response呢?

测试的时候感觉返回请求是按先后顺序的,但是我希望1执行的过程中能用2获取1执行中更新的结果。该扎个弄哦?麻烦大家帮哈忙,谢谢!!

念念啊的主页 念念啊 | 菜鸟二级 | 园豆:415
提问于:2012-07-20 13:22
< >
分享
最佳答案
0

如果都是异步的话,写在前面的会先开始,但哪个先返回结果就不一定了

1执行的过程中能用2获取1执行中更新的结果”这句话没表述清楚,能否说明一下

收获园豆:30
artwl | 专家六级 |园豆:16736 | 2012-07-20 13:51

就是1执行的是一个数据库更新操作,更新数据是一部分一部分更新的,所以在1更新的期间用2来取1更新了多少条数据,这样就可以在页面显示进度条了

念念啊 | 园豆:415 (菜鸟二级) | 2012-07-20 14:54

@secying: 这样的话可以让过程2每隔一定时间发一个请求,用来设置时度条,然后在过程1的回调函数中取消定时操作就可以了。

artwl | 园豆:16736 (专家六级) | 2012-07-20 14:57

@artwl: 我是这个样子做的,但是就是2的回调函数老是进不去,感觉就想要等1的回调执行完了后才执行2的回调函数样,所以很苦恼( ⊙ o ⊙ )!

念念啊 | 园豆:415 (菜鸟二级) | 2012-07-20 15:12

@secying: 你确定是异步的吗?

artwl | 园豆:16736 (专家六级) | 2012-07-20 16:24

@artwl: 是异步的,那个异步参数设的是true

念念啊 | 园豆:415 (菜鸟二级) | 2012-07-20 16:30

整了一下午也没把这个进度条弄出来,真是郁闷,这个多个异步的请求,返回的信息到底是每个异步请求完了就返回呢,还是等所有的请求都完了才一起响应哦? 

念念啊 | 园豆:415 (菜鸟二级) | 2012-07-20 18:10

@secying: 是每个请求单独返回,互不干扰

artwl | 园豆:16736 (专家六级) | 2012-07-20 20:13
其他回答(1)
1

将2放在1的回调函数中处理

dudu | 园豆:29570 (高人七级) | 2012-07-20 13:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册