我目前正在从承诺过渡到异步等待。它更容易推理代码。我只是有一个问题,如果使用方式来检查undefined是好的。代码正在nodejs中使用并检查数据库。代码就是这样的。
编辑:我知道我应该抓错。我只是在这里懒惰。
// This is a hypothetical function
async function retrieveUser(userID){
let user = await databasefetchfuction(userID);
if(user) return user;
return;
}
controller.getUser = async function(req,res){
let user = await retrieveUser(req.params.userID);
if(!user){ // Is this ok?
return res.status(404).json();
}
return res.status(200).json({ user });
}
我是这样做的,或者我应该使用user === undefined
明确检查未定义?
答案 0 :(得分:3)
if(!user)
只要你愿意接受所有其他人都会这样做是假的,那就是假的" JS中的事情。
答案 1 :(得分:1)
在数据库返回的情况下使用!var非常好。找不到用户但是!var返回true。
答案 2 :(得分:1)
JavaScript中的undefined
值被视为假值,所以是 - 您正在以正确的方式执行此操作。如果要检查用户对象中的其他字段,则应同时检查user
和user.property
。