Node.js异步函数路由中添加JWT验证中间件的正确语法
正确的路由写法
你只需要把authenticateJWT中间件放在路由路径和异步处理函数之间即可,和同步函数的写法逻辑一致,异步函数本身不影响中间件的添加顺序:
router.post('/account/user_load_balance', authenticateJWT, async function (req, res) { // 你的异步业务逻辑,比如用try/catch处理异常 try { // ... 这里编写你的业务代码 } catch (err) { res.status(500).json({ error: err.message }); } });
也可以用箭头函数的写法:
router.post('/account/user_load_balance', authenticateJWT, async (req, res) => { try { // ... 业务逻辑代码 } catch (err) { res.status(500).send(err.message); } });
你之前写法错误的原因
你尝试的写法打乱了Express路由的参数顺序,把中间件和函数定义的位置混淆,导致JavaScript解析时触发非法逗号的语法错误。Express路由的参数固定顺序是:路由路径 → 中间件(可多个,用逗号分隔) → 请求处理函数,无论处理函数是同步还是异步,这个顺序都不会改变。
内容的提问来源于stack exchange,提问作者admin admin
相关产品推荐
相关产品推荐

