javascript - NodeJS中如何按一定顺序执行代码?

标签 javascript node.js typescript express ecmascript-6

我在 nodeJS 中遇到这个问题,其中调用 4 个异步函数下面的代码在函数返回任何数据之前执行。下面的代码应以 json 形式返回每个调用的状态。如何按顺序执行每个函数?那么,当我将数据返回给调用者时,它会包含每个函数中发生的更新状态或错误?

这就是我现在拥有的..

let idItem = "";
    let statusInsert = "N/A";
    let statusSms = "N/A";
    let statusEmail = "N/A";
    let msgErro = "N/A";


    try {

        let retorno = inserirEmergencia(req).then(
        iar => {
            console.log(iar);
            idItem = iar.data.ID;
            statusInsert = "OK";
        }
        );  

      } catch (e) {
        //Error handling
        idItem = "0";
        statusInsert = "Erro";
        msgErro += " > " + e.message;
      }

      let jsonResposta = 
      {
          "idItem" : idItem,
          "statusInsert" : statusInsert,
          "statusSms" : statusSms,
          "statusEmail" : statusEmail,
          "msgErro" : msgErro
      }

      res.json(jsonResposta);

那么,jsonResposta 具有初始值,我如何执行这样的四个函数并确保最后的值是实际的函数返回值?

最佳答案

正如您可能知道的那样,事物在 Node.js 中异步运行。因此,当您需要让事情按一定顺序运行时,您需要使用控制库或基本上自己实现。

我建议您看一下以下概念:

1)回调函数。

2)异步和等待

通过这些,您可以控制执行流程。

关于javascript - NodeJS中如何按一定顺序执行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60343536/

相关文章:

node.js - MongoDB .deleteOne 在 Node.js 中不起作用

javascript - 推迟异步服务调用,直到 promise 得到解决

javascript - Chrome 开发工具失去了 TypeScript 的语法高亮显示

angular - 在 NgModule 绑定(bind) angular4 上使用 get/set

javascript - 如何使 templateUrl 为 null 或未定义或空字符串的指令

javascript - 一页上多个图像的模态

javascript - 独立移动元素js

node.js - 如果 session cookie 是安全的,则 CSURF 不工作

javascript - 从下拉列表中选择一个项目将所有下拉列表设置为相同

javascript - 如何使用 Javascript 从 HTML 文档中获取字符串