Next.js · Middle · Запитання 28 з 75
Що станеться за redirect() усередині try/catch у Server Action?
try {
await save(data);
redirect('/done');
} catch (e) {
return { error: 'Не вдалося зберегти' };
}- ✓Правильна відповідь:
catchперехопить службовий виняток редиректу, і редиректу не буде - 2Редирект спрацює,
catchвикличеться лише в разі помилкиsave - 3Next.js видасть помилку збирання
Пояснення
redirect() і notFound() працюють через кидання спеціальних винятків. Звичайний catch їх поглине. Рішення - викликати redirect після блоку try/catch або прокидати службові помилки далі (unstable_rethrow(e)).