gpt4 book ai didi

javascript - 按顺序排列的多个 jQuery promise

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:44:13 24 4
gpt4 key购买 nike

基本上我想要这个:

function do_ajax_calls(...){
var d = $.Deferred();

$.ajax(args).done(function(){

$.ajax(args).done(function(){

$.ajax(args).done(function(){
d.resolve();
});

});

})

return d.promise();
}

但是 ajax 调用的次数取决于我传递给函数的参数,它是一个数组,所以我不能使用该代码。

该函数应该返回一个仅在最后一个 ajax 调用完成时才解析的 promise 。所以函数需要这样调用:

 do_ajax_calls(....).done(function(){
// here is the callback
})

有人知道我该怎么做吗?

最佳答案

But the number of ajax calls depends on the arguments that I pass to the function, which is an array

如果它是每个数组项一个 ajax 调用

function do_ajax_calls(args) {
return args.reduce(function(promise, item) {
return promise.then(function() {
return $.ajax(args); // should that be item?
});
}, Promise.resolve(true));
}

Promise.resolve(true) 是一个“原生”promise,即在 IE 中不可用,但我确信 jQuery 有一个等价物

这是一个 JSFiddle演示

关于javascript - 按顺序排列的多个 jQuery promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32792569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com