//定义一个数组,用于装需要并发的函数
var apisPost = [];
//往里面装异步的函数
apisPost.push(function () {
var dtd = $.Deferred();
//封装的ajax请求
api.apiFn('url', {}, function (d) {
//ajax请求成功resolve
dtd.resolve();
});
//返回promise状态
return dtd.promise();
});
//装第二个函数
apisPost.push(function () {
var dtd = $.Deferred();
api.apiFn('url', {}, function (d) {
dtd.resolve();
});
return dtd.promise();
});
//并发请求
//使用apply实现遍历数组中函数,配合map得到每个promise并返回
$.when.apply(null, apisPost.map(function (v) {
return v();
})).done(function (data) {
//所有并发都成功
}).fail(function (error) {
//并发没有全部成功
})
Jquery中Deferred实现函数数组并发
最新推荐文章于 2021-08-06 06:41:59 发布
本文介绍了一种使用jQuery实现的并发Ajax请求方法。通过定义数组存储异步函数,并利用$.Deferred对象来封装Ajax请求,最终使用$.when.apply进行并发请求处理。文章详细展示了如何组织代码以确保所有请求成功后的回调执行。
3227

被折叠的 条评论
为什么被折叠?



