gpt4 book ai didi

javascript - 检查多个 ajax 请求完成时我应该应用什么设计模式?

转载 作者:行者123 更新时间:2023-11-30 09:01:20 25 4
gpt4 key购买 nike

我在一个函数中有 3 个 ajax 调用,checkAjaxCompletion 检查每个 ajax 完成标志。

下面的代码所做的是发送多个单独的 ajax 调用和间隔方法检查完成标志以确定是继续还是保持间隔。 (我知道 clearInterval 没有显示,但关键是我想使用间隔以外的东西)

当前代码是:

function manyAjax() {

setInterval( function() { checkAjaxCompletion(); } , 200);

ajax1();

ajax2();

ajax3();

}

function ajax1() {
//send ajax request to server and if success set flag to 1. Default is 0. Error is 2.
}

function ajax2() {
//send ajax request to server and if success set flag to 1. Default is 0. Error is 2.
}

function ajax3() {
//send ajax request to server and if success set flag to 1. Default is 0. Error is 2.
}

function checkAjaxCompletion() {

if(ajax1_flag == 1 && ajax2_flag == 1 && ajax3_flag == 1) {
//everything went success, do some process
}
else if(ajax1_flag == 2 || ajax2_flag == 2 || ajax3_flag == 2) {
//some ajax failed, do some process
}
else {
//all ajax have not been completed so keep interval i.e. do nothing here
}
}

但我在犹豫要不要使用区间函数,因为经常调用它似乎是在浪费内存。必须有更好的方法来做。我在考虑是否可以在此处应用观察者模式,但想听听意见。

最佳答案

observer-notifier,如果你想这样调用它 - 但你的每个 ajax 调用很可能在完成时在 javascript 中有一个回调。为什么不在每个方法的末尾调用 checkAjaxCompletion(),如果您还在等待其他方法,什么也不做?

关于javascript - 检查多个 ajax 请求完成时我应该应用什么设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073572/

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