Я кодирую экспресс -API, и я хочу использовать асинхронные функции в App.use () и app.get () Методы. Когда я это сделаю, я получаю ошибку. < /P>
Мой маршрутизатор: < /p>
import { Router } from "express";
import { register } from "../controllers/auth";
const authRouter = Router();
authRouter.post("/register", register);
export default authRouter;
< /code>
Ошибка: < /p>
No overload matches this call.
The last overload gave the following error.
Argument of type '(req: Request
>, res: Response, next: NextFunction) => Promise' is not assignable to parameter of type 'Application'.
Type '(req: Request, res: Response, next: NextFunction) => Promise' is missing the following properties from type 'Application': init, defaultConfiguration, engine, set, and 63 more.ts(2769)
index.d.ts(168, 5): The last overload is declared here.
< /code>
Я нашел способ управлять им, обернув мой асинхронный обработчик в обычную функцию, но я не уверен, правильный ли это: < /p>
authRouter.post("/register", (req, res, next) => {
register(req, res, next);
});
В моей памяти я никогда не добавляю проблемы, передающие асинхронные методы в качестве обработчика для моих маршрутов или в качестве промежуточного программного обеспечения.
Я кодирую экспресс -API, и я хочу использовать асинхронные функции в App.use () и app.get () Методы. Когда я это сделаю, я получаю ошибку. < /P> Мой маршрутизатор: < /p> [code] import { Router } from "express"; import { register } from "../controllers/auth"; const authRouter = Router();
authRouter.post("/register", register);
export default authRouter; < /code> Ошибка: < /p> No overload matches this call. The last overload gave the following error. Argument of type '(req: Request >, res: Response, next: NextFunction) => Promise' is not assignable to parameter of type 'Application'. Type '(req: Request, res: Response, next: NextFunction) => Promise' is missing the following properties from type 'Application': init, defaultConfiguration, engine, set, and 63 more.ts(2769) index.d.ts(168, 5): The last overload is declared here. < /code> Я нашел способ управлять им, обернув мой асинхронный обработчик в обычную функцию, но я не уверен, правильный ли это: < /p> authRouter.post("/register", (req, res, next) => { register(req, res, next); }); [/code] В моей памяти я никогда не добавляю проблемы, передающие асинхронные методы в качестве обработчика для моих маршрутов или в качестве промежуточного программного обеспечения.