【发布时间】:2020-06-06 04:07:21
【问题描述】:
我在 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 有初始值,我如何执行四个这样的函数并确保最后的值是实际函数返回的值?
【问题讨论】:
-
显示您到目前为止所做的工作以及问题的确切位置。
-
这是我现在的代码,我编辑了帖子。
-
查看
async/await,因为看起来您正在使用Promises (inserirEmergencia(req).then)。这个答案实际上非常接近你正在寻找的 - stackoverflow.com/a/60243171/5862900 或这个 stackoverflow.com/a/57486730/5862900
标签: javascript node.js typescript express ecmascript-6