现有有个需求,页面有几个按钮,点击任何一个按钮,都会发送一次ajax,如果点击了2个按钮,要把这两个ajax返回过来的数据求交集,请问除了使用同步ajax的方法外有没有别的办法保证求交集一定在ajax返回数据之后调用?
代码类似与这样:
// 在getData中,发送ajax请求
var list1 = getData();
var list2 = getData();
// intersect 是自己写的求交集的方法 ,inter 是list1和list2的交集
var inter = intersect(list1,list2)
除了jquery的defrred之外,使用原生来做,请提供一个思路
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
得用 $.when 详情看这里
http://segmentfault.com/q/1010000004169937?utm_source=APP&utm_medium=iOS&utm_campaign=socialShare
可以采用数字来标记吧。就数字标记发送的ajax请求数,ajax返回结果时数字-1,等数字为0时在求交集。
=====
@杨川宝 的答案很好,采用promise来做。
设置两个全局变量定义为false,ajax请求后就设置成true,然后进行轮训,
全局变量为true了就执行你的函数,累死这样,不过有点笨而已,也不适为一种方法吧。
如下