【发布时间】:2020-04-29 06:50:27
【问题描述】:
我见过很多人这样定义异步函数而不使用 await。
async function authMiddleware(req, res, next) => {
try {
const token = req.query.token
const secret = process.env.JWT_SECRET
jwt.verify(token, secret)
} catch (err) {
return res.status(403).json({ message: MESSAGES.TOKEN_EXPIRED })
}
return next()
}
我附上这段代码只是为了举例。请不要关心里面的线条的含义。
在 JavaScript 中没有任何 await 的情况下将函数定义为异步有什么好处或用例吗?
可能:他是否有可能打算通知用户它返回承诺?
【问题讨论】:
-
看起来很奇怪。我能想到的唯一原因是他们是否计划很快在其中添加异步调用
-
不,它是稳定的代码。他是否可能打算通知用户它返回承诺? @CertainPerformance
-
这种情况完全没有意义,它只会让代码更难使用,更别提混淆了
-
不,即使异步函数没有等待任何东西,该函数的使用者仍然会得到一个 Promise 作为回报,为了使用它,他们必须使用
.then或 @ 987654324@ -
一个已解决的承诺仍然是一个承诺。
标签: javascript node.js promise async-await