async_await

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
async_await [2024/02/05 20:28]
tro
async_await [2024/02/06 18:27] (текущий)
tro
Строка 93: Строка 93:
  
 </code> </code>
 +Вже .then не потрібна і повернеться саме значення результат функції а не проміс
 ===== HTTP-запити ===== ===== HTTP-запити =====
 Використаємо синтаксис async/await при роботі з HTTP-запитами, щоб зробити код більш читабельним. Використаємо синтаксис async/await при роботі з HTTP-запитами, щоб зробити код більш читабельним.
Строка 105: Строка 106:
  
 </code> </code>
 +===== Обробка помилок =====
 +Якщо результат асинхронної функції (проміс) не використовується в зовнішньому коді, помилки оброблюються у самому тілі функції за допомогою конструкції try...catch. Значення параметра error у блоці catch — це помилка, яку генерує await, якщо проміс був відхилений.
 +<code>
 +const fetchUsers = async () => {
 + try {
 + const response = await axios.get("<https://jsonplaceholder.typicode.com/users>");
 + console.log(response.data);
 + } catch(error) {
 + console.log(error);
 + }
 +};
 +
 +</code>
 +====== Приклади ======
 +===== Виконання декількох запитів HTTP асінхронно =====
 +<code>
 +async function f1(){
 +    const url = 'http://lovalhost:3000/book';
 +
 +    //сам запит до сервера робимо аасинхронно для швидкості
 +    const p1 = fetch(url);
 +    const p2 = fetch(url);
 +    const p3 = fetch(url);
 +    const p4 = fetch(url);
 +    const p5 = fetch(url);
 +
 +    //кладемо проміси у масив
 +    const promise = [p1,p2,p3,p4,p5]
 +
 +    //а тепер у результат кладемо результати проміі і чекаємо тільки коли усі вони виконаються
 +    const result = await Promise.allSettled(promise);
 +
 +    console.log(result)
 +}
 +
 +//Викликаємо саму функцію
 +f1();
 +</code>
 +
  • /sites/data/attic/async_await.1707164897.txt.gz
  • Последнее изменение: 2024/02/05 20:28
  • tro