您可能会认为这两种方法是相同的。但 return 和 return wait 之间有一个至关重要的区别。
当我们处理promise时,比如数据库查询,我们通常使用await。例如:
1
2
3
4
async function getuserbyid(userid) {
const user = await userrepository.findbyid(userid);
return user;
}
但是,在这种情况下,并不严格需要使用await。我们可以这样写:
1
2
3
function getuserbyid(userid) {
return userrepository.findbyid(userid);
}
两个选项都可以正常工作。
当我们有 try/catch 块时,行为会有所不同,如果您没有意识到这一点,可能会导致意外错误。
1
2
3
4
5
6
7
function getuserbyid(userid) {
try {
return userrepository.findbyid(userid);
} catch (error) {
console.error(error.message);
}
}
如果findbyid发生错误,它不会被捕获,这很可能会成为一个问题。这就是我们需要使用 return wait 的地方。
1
2
3
4
5
6
7
async function getUserById(userId) {
try {
return await userRepository.findById(userId);
} catch (error) {
console.error(error.message);
}
}
现在,我们安全了,任何错误都会落入 catch 块中。
综上所述,如果我们需要在catch块中处理和处理错误,我们必须使用returnawait来确保应用程序正确运行。
立即学习“Java免费学习笔记(深入)”;
以上就是JavaScript 中 return 和 return wait 的区别的详细内容,更多请关注php中文网其它相关文章!