Задать вопрос

Чем так страшен верхне-уровненый await в script setup?

всем привет, юзаю nuxt 3 и пытаюсь делать обработку ошибок при получении данных с апи, таким образом
<script setup>

const { data, status, error } = await useAsyncData('home', () =>
    $fetch('/api/getData', {
        params: { slug: '/' },
    })
);

if (error?.value) {
    console.error("Произошла ошибка:", error.value);
    throw createError({
        statusCode: error.value.statusCode || 500,
        statusMessage: error.value.message || 'Unknown error',
        fatal: true
    });
}
</script>

/api/getData это тестовая апишка котору я сделал в server.api
export default defineEventHandler((event) => {
    // Получаем параметр `slug` из запроса
    const { slug } = getQuery(event);
  
    if (slug === '/') {
      return {
        constructor: [
          { id: 1, name: "Constructor 1", type: "Type A" },
          { id: 2, name: "Constructor 2", type: "Type B" },
        ],
        model: [
          { id: 1, name: "Model 1", category: "Category X" },
          { id: 2, name: "Model 2", category: "Category Y" },
        ],
      };
    }
  
    throw createError({
      statusCode: 404,
      statusMessage: "Invalid slug",
    });
  });

так вот сама обработка ошибок, работате адекватно если перед useAsyncData ставить await, но насколько я поняла это не особо желательно из-за , но при этом всем я не понимаю что может случится если я буду юзать await в корне script setup.
P.S буду оченб благодарна за примеры обработки по другому, без await
  • Вопрос задан
  • 37 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы