关于用Ajax获取多个异步数据,然后同步的问题

riffleliu 2016-11-03 09:24:41
问题是这样,用多个Ajax方法异步获取数据,所有数据都返回后,再执行一项目操作。

具体例子如下:从多个数据源获取数据,多个数据源的数据返回后,再将这些数据整合,再显示出来。

...全文
328 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
当作看不见 2016-11-03
  • 打赏
  • 举报
回复
异步读取数据,用一个回调函数执行整理数据,显示出来 一个函数func,里面有多个ajax异步读取数据的方法(func1,func2..)用func的回掉函数处理返回的数据
riffleliu 2016-11-03
  • 打赏
  • 举报
回复
其实我想知道,大家通常有什么做法。 我自己的做法通常是类似于多线程的原理, 设计一个同步计数器之类的, 每返回一个结果,同步计数+1, 当同步计数器的值与发送请求的数量一致的时候,就表示获取到了所有数据, 然后,就执行后面的操作。。。。
Go 旅城通票 2016-11-03
  • 打赏
  • 举报
回复
引用 5 楼 riffleliu 的回复:
[quote=引用 4 楼 showbo 的回复:] 那不是弄个全局变量记录总任务数,完成一个-1,为0的时候就是全部完毕了,那个任务中进行你的合并操作,意思就是每个任务完毕要-1并且检查下全局变量是否为0了。
我就是这么做的,但不想声明全局变量,不知道有没有更好的办法。[/quote]异步视乎没什么好办法,你无法知道哪时回调,如果怕变量污染就用匿名函数做个隔离,但是你的回调注意要能引用到这个变量
(function(){
var count=10;
//异步ajax请求
})()
riffleliu 2016-11-03
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
那不是弄个全局变量记录总任务数,完成一个-1,为0的时候就是全部完毕了,那个任务中进行你的合并操作,意思就是每个任务完毕要-1并且检查下全局变量是否为0了。
我就是这么做的,但不想声明全局变量,不知道有没有更好的办法。
Go 旅城通票 2016-11-03
  • 打赏
  • 举报
回复
那不是弄个全局变量记录总任务数,完成一个-1,为0的时候就是全部完毕了,那个任务中进行你的合并操作,意思就是每个任务完毕要-1并且检查下全局变量是否为0了。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧