多层回调嵌套,并且嵌套上层循环里,如此最后的方法必须等之前的回调都执行完了才能执行,如此同步的代码,应该怎么弄呢?求大神指点!!
function a() {
var j = [a, b, c, d, e] b(j)
}
function b(j) {
j.each(function(item) {
$.ajax({
url: '/web/sendsms',
data: {
key: item
},
traditional: true,
success: function(data) {
if (data && data.code !== 700) {
c(data)
}
}
});
})
}
function c(data) {
var datas = [] $.ajax({
url: '/web/sendsms/name',
data: {
name: data.key
},
traditional: true,
success: function(data) {
if (data && data.code !== 700) {
datas.push(data)
}
}
});
return datas
}
function d() {
//拿到总的数据,就是所有循环获取到的datas的数组,然后去重,所以这个方法只能在上面都拿到数据后才能执行,并且不能作为 c 方法的回调函数,因为c嵌套了2层循环。
}
呼唤远方
相关分类