【问题标题】:How to avoid callback hell after one AJAX call [closed]一次AJAX调用后如何避免回调地狱[关闭]
【发布时间】:2017-03-30 01:16:38
【问题描述】:

我有一个 nodeJS 应用程序,它从 API 请求数据一次。然后我想通过使用单独的函数对这些数据进行一些处理。但是,由于 AJAX 是异步的,我不得不按如下方式使用 async:

async.series(
[
   function(callback) { getContentFromAPI("banana",callback); },
   function(callback) { doSomeProcess1(callback); },
   function(callback) { doSomeProcess2(callback); },
   function(callback) { doSomeProcess3(callback); },
   function(callback) { doSomeProcess4(callback); },
]
);

有什么办法可以做得更好吗?我只请求一个异步进程并希望避免使用异步,因为所有其他进程都是同步的。

我该怎么办?

【问题讨论】:

  • 使用 Promise 并从同步编程切换到异步编程
  • 你应该考虑使用promise api
  • Ajax,在 Node 中?

标签: javascript jquery ajax node.js asynchronous


【解决方案1】:

但是,由于 AJAX 是异步的,所以我不得不按如下方式使用 async

您使一个非常简单和常见的过程过于复杂......我不知道 getContentFromAPI 的“签名”是什么,但是,如果它遵循“标准”节点回调“签名” - 那么您的过程应该一样简单作为

getContentFromAPI("banana", function(error, data) {
    if (error) {
        // your error handling goes here
    } else {
        doSomeProcess1();
        doSomeProcess2();
        doSomeProcess3();
        doSomeProcess4();
    }
});

【讨论】:

    猜你喜欢
    • 2017-05-08
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    相关资源
    最近更新 更多