Раньше я редко использовал async await в своем коде JavaScript, сначала я всегда использовал метод fetch для получения любых необходимых мне данных. По прошествии времени я снова начал смотреть на это, и оказалось, что это не так уж сложно реализовать.

Здесь я хотел бы объяснить async await как можно проще. Попробуйте посмотреть на этот код.

function usingFetch() {
    fetch('https://randomuser.me/api/')
        .then(parse => parse.json())
        .then(result => {
            // do something with the result
        }
}

Вышеприведенный код представляет собой обычный метод извлечения, это выглядит не очень хорошо, потому что все операции с данными, которые мы только что получили, должны выполняться во втором .then, или, альтернативно, передавать значение другой функции или переменной.

Попробуйте посмотреть на код ниже для сравнения.

async function useAsync() {
  let getData = await fetch('https://randomuser.me/api/');
  let result = await getData.json();
  // do something with result
}

В строке 2 ключевое слово await перед fetch означает, что нам нужно дождаться завершения процесса выборки, чтобы мы могли выполнить следующую строку после этого. Тот же процесс происходит в строке 3: нам нужно сначала дождаться завершения синтаксического анализа данных, чтобы выполнить следующую строку.

Используя async await, код становится простым, понятным и более читабельным. Следует отметить несколько вещей: нам нужно поместить асинхронное слово перед инициализацией функции, чтобы затем мы могли использовать ключевое слово await внутри функции. Следует помнить, что ключевое слово await не будет работать, если в инициализации функции нет ключевого слова async .

Заключение

Просто попробуйте, как только вы к нему привыкнете, он станет очень удобным и избавит нас от ада обратных вызовов. Надеюсь, вам понравится, спасибо!