嵌套 ajax 调用理论

Nested ajax calls theory

我发现很多关于需要执行嵌套 ajax 调用的用户的问题,但我不明白嵌套它们是否是一个好的选择。

大多数人告诉 "divide" 多个函数,例如:

function firstCall() {
    $.ajax({
        // [...]
        onSuccess: function(response){
            secondCall();
        }
    });
}

function secondCall() {
    $.ajax({
        // [...]
        onSuccess: function(response){
            thirdCall();
        }
    });
}

function thirdCall() {
    $.ajax({
        // [...]
        onSuccess: function(response){
            andSoOn();
        }
    });
}
  1. 这是唯一的解决方案吗?
  2. 嵌套ajax调用的主要问题是什么?

我正在开发一个需要大量 ajax 交互的 Web 应用程序,有时我必须嵌套 ajax 调用,例如检索依赖于第一个 ajax 的数据]调用结果以刷新DOM个元素

  1. 我应该把所有东西都移到后端吗?

Is this the only solution?

不,还有另一种方法可以通过使用 Promises 来处理与此类似的 ajax 请求,但在功能方面它仍然与使用回调相同。

What are the main problems of nested ajax calls?

我能想到的嵌套 ajax 调用的主要缺点是,如果一个调用失败,它可能会中断其余的连续 ajax 调用,因此如果不考虑这可能会产生问题对于.