【发布时间】:2021-07-10 11:49:13
【问题描述】:
我试图在三元表达式中调用异步方法作为条件,但代码的执行没有按预期工作。 有人可以向我解释为什么会这样:
req.user.user_id === concept.owner_id
? async () => {
console.log("here");
const update = req.body;
update.concept_id = conceptId;
update.owner_id = concept.owner_id;
const updatedConcept = await Concept.updateConcept(update);
updatedConcept !== null
? ResponseSuccess.success(res, updatedConcept)
: ResponseError.internalServerError(res);
}
: ResponseError.unauthorized(res);
不工作?
我验证了条件为真。仅供参考 ResponseSuccess 和 ResponseError 只是响应处理程序和格式化程序。
是不是因为两个部分是不同的类型?
TIA
【问题讨论】:
-
我没有看到你在任何地方调用
async函数。所以我看到的是,当条件为真时,三元表达式将评估为函数定义。 -
是的,刚刚注意到。谢谢@crashmstr
标签: node.js async-await conditional-operator