thi*_*ous 3 javascript node.js promise async-await
我见过很多人定义异步函数而不像这样在其中使用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()
}
Run Code Online (Sandbox Code Playgroud)
我附上这段代码只是为了举例。请不要关心里面的行的含义。
await在 javascript 中将函数定义为异步是否有任何好处或用例?
可能:他是否有可能打算通知用户它返回了承诺?
小智 5
ESLint 及其规则require-await所说的内容。
\n\n\n\n\nJavaScript 中的异步函数与其他函数的行为在两个重要方面有所不同:
\n\n\n
\n\n- 返回值始终是一个 Promise。
\n- 您可以在其中使用await 运算符。
\n使用异步函数的主要原因是\n 通常使用await 运算符,...
\n
MDN说的是:
\n\n\n\n\n异步函数声明定义了一个异步函数\xe2\x80\x94 一个返回 AsyncFunction 对象的\n 函数。异步函数通过事件循环以与其余代码不同的顺序运行,并返回隐式 Promise 作为其结果。但使用异步函数的代码的语法和结构看起来像标准同步函数。
\n
很明显,异步函数不仅仅是为等待使用而设计的。然后,在异步函数中不使用await 就可以了。但是……有什么意义呢?
\n\n我相信是使用像 Promise 这样的同步函数。以下示例来自javascript.info。
\n\nasync function f() {\n return 1;\n}\n\nf().then(alert); // 1\nRun Code Online (Sandbox Code Playgroud)\n\n将与以下相同:
\n\nasync function f() {\n return Promise.resolve(1);\n}\n\nf().then(alert); // 1\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n\n在 JavaScript 中没有任何原因将函数定义为异步有什么好处吗?
\n
它可用于使代码更具可读性或更容易遵循。
\n\n客户端的结果不会受到影响。
\n| 归档时间: |
|
| 查看次数: |
6730 次 |
| 最近记录: |