Hac*_*rMF 11 node.js express typescript
我应该如何处理注册功能来修复@typescript-eslint/no-misused-promises。我发现解决这个问题的一种方法是通过 eslint 编写。
"@typescript-eslint/no-misused-promises": [
"error",
{
"checksVoidReturn": false
}
]
Run Code Online (Sandbox Code Playgroud)
但我想按照 eslint 的要求解决这个问题。有任何想法吗?
import PromiseRouter from "express-promise-router";
import { login, registration } from './authController';
const router = PromiseRouter();
> ESLint: Promise returned in function argument where a void return was
> expected.(@typescript-eslint/no-misused-promises)
router.post('/registration', registration);
Run Code Online (Sandbox Code Playgroud)
这是注册的完整功能
export async function registration(req: TreqBodyReg, res: Response): Promise<void> {
try {
const { email, password } = req.body;
const candidate = await ModelUser.findOne({ email }) as TuserFromDB;
if (candidate) {
res.status(400).json({ message: `There is user with email ${email}` });
return;
}
const hashPassword = bcrypt.hashSync(password, 7);
const user = new ModelUser({ email, password: hashPassword });
await user.save();
res.status(200).json({ message: `The user by email ${email} was successfully registered` });
} catch (err: unknown) {
res.status(400).json({ message: err });
}
};
Run Code Online (Sandbox Code Playgroud)
小智 1
这是迂回的,但我通过这种方式解决了问题。
async function registerUser(req: TreqBodyReg, res: Response): Promise<void> {
const { email, password } = req.body;
const candidate = await ModelUser.findOne({ email }) as TuserFromDB;
if (candidate) {
res.status(400).json({ message: `There is user with email ${email}` });
return;
}
const hashPassword = bcrypt.hashSync(password, 7);
const user = new ModelUser({ email, password: hashPassword });
await user.save();
res.status(200).json({ message: `The user by email ${email} was successfully registered` });
}
export function registration(req: TreqBodyReg, res: Response): void {
registerUser(req, res).catch((err: unknown) => {
res.status(400).json({ message: err });
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3335 次 |
| 最近记录: |