You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:25:19