首页 > 解决方案 > 错误应在箭头函数的末尾返回一个值

问题描述

const jwt = require('jsonwebtoken');

module.exports = (req, res, next) => {
  try {
    const token = req.headers.authorization;
    const decoded = jwt.verify(token, 'somes');
    req.user = decoded.user;
    next();
  } catch (error) {
    return res.status(401).json({
      message: 'Auth failed',
    });
  }
};

这是我的check-auth中间件,我为这个 expressjs 项目配置了 AirBnB 编码标准。

我有一个 linting 错误。这到底是什么意思,我怎样才能摆脱这个错误?像这样将 return 语句放在 next() 函数调用前面是否可以return next();?这对代码有什么影响?

错误期望在箭头函数的末尾返回一个值一致返回

标签: javascripteslint

解决方案


它抱怨您的一个代码路径正在返回一个值,但另一个没有。这里不需要返回值。

改变

return res.status(401).json({
  message: 'Auth failed',
});

res.status(401).json({
  message: 'Auth failed',
});

推荐阅读