parseAsync
Асинхронная версия parse: возвращает данные или отклоняется с ValidationError. Нужна, если в схеме есть checkAsync.
Сигнатура
ts
function parseAsync<S extends Schema>(schema: S, value: unknown, options?: Options): Promise<Infer<S>>Параметры
| Параметр | Тип | Описание |
|---|---|---|
schema | Schema | Схема, по которой проверяются данные |
value | unknown | Любые данные |
options | Options | { all?: boolean } — как в validate |
Возвращает
Promise с очищенными данными. Порядок выполнения проверок — как у validateAsync.
Пример
Обработчик с проверкой в базе
ts
app.post('/signup', async (req, res, next) => {
try {
const data = await parseAsync(Signup, req.body);
await db.users.create(data);
res.status(201).end();
} catch (e) {
next(e); // ValidationError обработает общий обработчик ошибок
}
});См. также
- parse
- ValidationError — общий обработчик ошибок
- validateAsync