import type {
Request,
Response,
NextFunction,
} from 'express';
type Middleware = (req: Request, res: Response, next: NextFunction) => void | Promise<void>;
export function wrapMiddleware(middleware: Middleware) {
return (async (req, res, next) => {
try {
await middleware(req, res, next);
} catch (e) {
next(e);
}
}) satisfies Middleware;
}
| Error
.then((result) => result)
А вот с этим не понял, почему она бесполезна ?
можете еще объяснить, почему вы использовали
import { Pool, type QueryResult, type QueryResultRow } from 'pg';
.then((result) => result)
эта конструкция бесполезна.catch((error) => error)
а эта конструкция поймает ошибку и вернет ее туда же где ожидается результат, возможно лучше ее здесь не ловить, либо как-то обернуть возвращаемое значение, чтоб было понятно ошибка это или результат import { Pool, type QueryResult, type QueryResultRow } from 'pg';
const pool = new Pool();
export const query = (text: string, params?: unknown[]): Promise<QueryResult<QueryResultRow>> => pool.query(text, params);
export const getClient = () => pool.connect();
заодно разбил объект на отдельные экспорты app.post('/server', (req, res) => {
let data = '';
req.on('data', chunk => {
data += chunk;
});
req.on('end', () => {
const pay = JSON.parse(data);
// ...
});
});