Быстрое вступление. для Async & Await в JavaScript.

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

Итак, если мы напишем async перед именем функции (что является ее синтаксисом), то это гарантирует, что теперь функция всегда будет возвращать обещание, даже если вы пишете простой метод, который возвращает простое значение. Прямым примером, чтобы понять ситуацию, было бы, если вы извлекаете некоторые данные из удаленного файла .json и показываете эти данные в пользовательском интерфейсе, но вы можете не быть уверены в том, что могут возникнуть проблемы, такие как изменение пути к файлу, файл не существующие типы и т. д., в таком случае вы можете обернуть эту функцию в асинхронное ожидание, таким образом вы убедитесь, что до тех пор, пока запрос не будет разрешен и данные не поступят, пользовательский интерфейс не отобразит его и не сломает. Так что ожидайте, убедитесь, что JavaScript ждет, пока это обещание не установится и не вернет результат.

Пример:

асинхронная функция asyncAwaitFun (значение) {

console.log(значение);

let result = new Promise((res, rej) => {

setTimeout(() => res(значение+5), 3000)

});

console.log("После");

пусть afterPromiseValue = ждать результата;

console.log("значение после ожидания"+ afterPromiseValue);

console.log("Будет напечатано только после выполнения запроса");

}

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

Давайте проверим приведенный ниже пример, этот пример представляет собой практический сценарий: fetchUserName(), предлагает пользователю ввести свое имя пользователя Github, внутри этой асинхронной функции мы получаем выборку с ожиданием, потому что мы хотим предупредить имя пользователя только тогда, когда API успешно извлекается данные, иначе пользователь увидит проблемы на странице.

асинхронная функция fetchUserName() {

let user = prompt («Введите свое имя пользователя на github», «»);

// чтение пользовательского API github через переданное имя пользователя

пытаться {

let githubResponse = await fetch(`https://api.github.com/users/${user}`);

} поймать (ошибка) {

оповещение (ошибка);

}

let githubUserData = await githubResponse.json();

пусть имя = githubUserData.name;

предупреждение (имя);

вернуть githubUserData;

}

fetchИмяПользователя();

Разве приведенный выше пример не демонстрирует очень распространенный полезный вариант использования?

async/await хорошо работает с Promise.all, если нам нужно дождаться нескольких обещаний, мы можем обернуть их в Promise.all, а затем ждать.

пусть responseData = await Promise.all([

выборка (url-1),

выборка (url-2),

]);

async: сделать так, чтобы функция всегда возвращала обещание.

await: заставить JavaScript ждать, пока обещание не будет либо разрешено, либо отклонено, поэтому, если

Если это ошибка, генерируется исключение, как если бы в этом месте вызывалась ошибка throw.

В противном случае он возвращает результат, поэтому мы можем присвоить его значению.

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

Обсуждение улучшает ситуацию.