在我的代码中,我有一个用户名数组。我试图通过每个名称,检查用户是否存在于数据库中并创建用户。问题是,我的短毛猫在我标记的地方说了'await' has no effect on the type of this expression
:
await Promise.all(
userNames.map(async userName => {
const user = await users.findOne({ name: userNames });
if (!user)
await users.create({ // Linter marks this bracket (Not the curly bracket)
name: userName,
}); // And this end bracket
}),
);
我的编辑建议是这样的:
if (user) {
return;
}
await users.create({
name: userName,
});
翻转if else。知道为什么吗?
最佳答案
问题是,users.create
并非等待的 promise !找到它的一种好方法是单击ctrl +单击该方法并检查其类型定义。
关于javascript - 在if块中使用await时,“await”对此表达式的类型没有影响,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59114874/