Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (5)
  • Понимает ли js, что функция вернет promise?

    @paroletatel
    Отвечу так, как сам понимаю, без претензий на экспертство.

    Сама функция в вашем примере — синхронная. Внутри данной функции вызывается fetch — он асинхронный.

    Вызов функции и её выполнение — это блокирующий код, он выполняется синхронно, и останавливает поток, пока не отработает функция.

    Но суть в том, что идея отрабатывания данной синхронной функции в том, чтобы поместить в event loop асинхронный запрос (который возвращает promise), обработчик которого запускается и не блокирует основной поток, — и только. Сама функция же, как синхронная, возвращает то, что вы ей даете вернуть, — в данном случае undefined.

    Если бы вы записали функцию, как асинхронную, и перед fetch использовали await, то данная функция как раз и возвращала promise, который предполагал бы полное исполнение fetch до выполнения самой функции, то есть resolve'а promise функции.

    const getData = async () => {
      await fetch('адресДаты').then((resp) => {
        resp.json()
      })
      .then((data) => {
        return data.data
      })
    }
    Ответ написан
    5 комментариев

Лучшие вопросы пользователя

Все вопросы (16)