Javascript 语法错误:关于使用next in中间件传递给其他中间件的非法中断语句
我正在尝试使用Javascript 语法错误:关于使用next in中间件传递给其他中间件的非法中断语句,javascript,node.js,express,jwt,express-router,Javascript,Node.js,Express,Jwt,Express Router,我正在尝试使用中间件验证我的用户令牌。当我试图使用next()转到下一个中间位置时,问题就出现了。我认为我的next()无法正常工作。请帮忙 中间件代码: async function verify(req,res,next){ if(req.body.token==null) next("Tokken Not present") // verify token try{ var isAuth=jwt.verify(req.body.token,pro
中间件
验证我的用户令牌。当我试图使用next()
转到下一个中间位置时,问题就出现了。我认为我的next()
无法正常工作。请帮忙
中间件代码:
async function verify(req,res,next){
if(req.body.token==null) next("Tokken Not present")
// verify token
try{
var isAuth=jwt.verify(req.body.token,process.env.secretKey);
if(isAuth)next();
}catch(err){
next(err)
}
}
错误消息:
> db connected
>err handler reached
>SyntaxError: Illegal break statement
> at Layer.handle [as handle_request] (F:\recuritmentPortal\backend\node_modules\express\lib\router\layer.js:95:5)
> at next (F:\recuritmentPortal\backend\node_modules\express\lib\router\route.js:138:13)
> at verify (F:\recuritmentPortal\backend\middlewares\userVer.js:12:8)
> at Layer.handle [as handle_request] (F:\recuritmentPortal\backend\node_modules\express\lib\router\layer.js:95:5)
> at next (F:\recuritmentPortal\backend\node_modules\express\lib\router\route.js:138:13)
> at Route.dispatch (F:\recuritmentPortal\backend\node_modules\express\lib\router\route.js:112:3)
> at Layer.handle [as handle_request] (F:\recuritmentPortal\backend\node_modules\express\lib\router\layer.js:95:5)
> at F:\recuritmentPortal\backend\node_modules\express\lib\router\index.js:281:22
> at Function.process_params (F:\recuritmentPortal\backend\node_modules\express\lib\router\index.js:335:12)
> at next (F:\recuritmentPortal\backend\node_modules\express\lib\router\index.js:275:10)
> at Function.handle (F:\recuritmentPortal\backend\node_modules\express\lib\router\index.js:174:3)
> at router (F:\recuritmentPortal\backend\node_modules\express\lib\router\index.js:47:12)
> at Layer.handle [as handle_request] (F:\recuritmentPortal\backend\node_modules\express\lib\router\layer.js:95:5)
请发布文本,而不是文本的图像。(您是否尝试将数据传递到下一个中间件?)不,我只想在令牌成功验证后将我的req移动到下一个中间件。基本上,上面的函数用于验证。由于我必须验证多次,所以我将其作为sep middleware发布文本,而不是文本的图像。(您是否正在尝试将数据传递到下一个中间件?)不,我只想在令牌成功验证后将我的req移动到下一个中间件。基本上,上述功能用于验证。由于我必须验证多次,我已将其作为sep middlewareAllan进行验证。感谢您的回答,但我正在使用express router,即使使用路由器。使用它仍然不起作用。欢迎使用stackoverflow!您能提供任何limi吗回答中的假设、假设或简化。请在此链接查看有关如何回答的更多详细信息:Allan感谢您的回答,但我使用的是express router,即使是do router。使用它仍然不起作用。欢迎使用stackoverflow!您能否在回答中提供任何限制、假设或简化。请查看有关如何回答问题的更多详细信息t此链接:
async function verify(req,res,next){
if(req.body.token==null)
return next("Tokken Not present")
// verify token
try{
var isAuth=jwt.verify(req.body.token,process.env.secretKey);
if(isAuth)next();
}catch(err){
next(err)
}
}
app.use((error, request, response, next) => {
response.status(500).send('error')
})