如何解决 Expression Expected.ts(1109) 错误

问题描述 投票:0回答:1

我犯了一个错误 表达式预期.ts(1109) 错误

代码是 从“express”导入{NextFunction,请求,响应}; 从“../utils/errorHandler”导入ErrorHandler;

export const ErrorMiddleware = (err: any, req: 请求, res: 响应, next: NextFunction) => { err.statusCode = err.statusCode || 500 错误消息 = 错误消息 || “内部服务器错误”,

//wrong mongodb id 
if(err.name === "CastError"){ // error occur in this line. if is marked with redline and error is expression expected
    const message = `Resources not found with this id.. Invalid ${err.path}`
    err = new ErrorHandler(message, 400)
}
//Duplicate key error
if(err.code === 11000) {
    const message = `Duplicate ${Object.keys(err.keyValue)} Entered`
    err = new ErrorHandler(message, 400)
}
//wrong jwt error

if(err.name === "jsonWebTokenError") {
    const message = "Json web token is invalid, try again"
    err = new ErrorHandler(message, 400)

}
//jwt expired error
if (err.name === "TokenExpiredError") {
    const message = `Json web token expired. try again`
    err = new ErrorHandler(message, 400)
}

res.status(err.statusCode).json({
    success: false,
    message: err.message
})

}

我尝试编写错误处理代码,但出现了 Expression Expected.ts(1109) 错误。如果用红线标记并且错误是表达式预期如何解决这个问题。这是任何版本的问题还是其他问题。我需要这个问题的解决方案

typescript expression
1个回答
0
投票

因为您在行尾使用逗号运算符

,

sage = err.message || "Internal server error",  // ❌
sage = err.message || "Internal server error";  // ✅

当您想要在需要单个表达式的位置包含多个表达式时,可以使用逗号运算符。该运算符最常见的用法是在

for
循环中提供多个更新程序。

© www.soinside.com 2019 - 2024. All rights reserved.