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

Как дождаться появления данных от асинхронной функции для экспорта этих данных?

Пытаюсь получение данных вынести в отдельный файл и импортировать уже готовый объект.

async function getThisDay (){
    try {
      let result = await fetch('folder/calend-2022.json')
      result = await result.json()
      console.log(result)
      return result
    }catch(error)
    { return 'ooooops' }
  }

export default (
  getThisDay()
)


Проблема в том, что запрос-то асинхронный. Если я функцию передаю в экспорт, основной скрипт получает промис. Из него инфу вытаскивать надо. Как можно в экспорт передать готовый объект?

PS: я пытался фетч не пихать в функцию, а писать так:
var info = await fetch...
Но у меня вебпак не компилирует так, пишет "Error: Module parse failed: The top-level-await experiment is not enabled (set experiments.topLevelAwait: true to enabled it)"
Гуглил, как пофиксить - не получается.
  • Вопрос задан
  • 273 просмотра
Подписаться 1 Простой Комментировать
Ответ пользователя Alexandroppolus К ответам на вопрос (2)
Alexandroppolus
@Alexandroppolus
кодир
Экспортируй функцию getThisDay.
Нет смысла экспортировать её результат или даже промис. Это не гибко. Например, запрос не удался. Тогда у тебя не будет возможности перезапросить.
Ответ написан