我在 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/