Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
objavlenie_promisi [2024/01/14 14:39] tro [Promise.all() (Обробка множинних промісів)] |
objavlenie_promisi [2024/01/25 19:27] (текущий) tro |
||
|---|---|---|---|
| Строка 6: | Строка 6: | ||
| * отклонен (reject) | * отклонен (reject) | ||
| ===== обявление промиса (Promise) ===== | ===== обявление промиса (Promise) ===== | ||
| + | При створенні промісу всередині буде відразу вконана та дія. Сюди загоняємо те що повинно буде виконано у промісі. | ||
| < | < | ||
| const myPromise = new Promise ((resolve, reject)=> | const myPromise = new Promise ((resolve, reject)=> | ||
| Строка 12: | Строка 13: | ||
| </ | </ | ||
| ===== Обробка резуьтата промиса (.then) ===== | ===== Обробка резуьтата промиса (.then) ===== | ||
| + | В методах then прописуємо що буде виконано коли настане подія вдалого, | ||
| + | < | ||
| + | promise.then(onFullFild).catch(onReject); | ||
| + | </ | ||
| < | < | ||
| myPromse | myPromse | ||
| Строка 141: | Строка 146: | ||
| </ | </ | ||
| ===== Promise.resolve() і Promise.reject() ===== | ===== Promise.resolve() і Promise.reject() ===== | ||
| - | | + | |
| * Так створюється успішно виконаний проміс через Promise.resolve(): | * Так створюється успішно виконаний проміс через Promise.resolve(): | ||
| < | < | ||
| Строка 168: | Строка 173: | ||
| .catch(error => console.log(error)); | .catch(error => console.log(error)); | ||
| </ | </ | ||
| - | | + | **якщо хоча б один з промісів відхиляється, |
| + | ===== Promise.allSettled() ===== | ||
| + | Також дозволяє одночасно обробити кілька промісів та отримати їхні результати. | ||
| + | Відмінність від Promise.all полягає в тому, що метод Promise.allSettled() **чекає виконання всіх | ||
| + | ===== Promise.race ===== | ||
| + | приймає масив промісів і повертає " | ||
| + | < | ||
| + | const p1 = new Promise((resolve, | ||
| + | setTimeout(() => resolve(1), 1000); | ||
| + | }); | ||
| + | |||
| + | const p2 = new Promise((resolve, | ||
| + | setTimeout(() => reject(2), 2000); | ||
| + | }); | ||
| + | |||
| + | Promise.race([p1, | ||
| + | .then(value => console.log(value)); | ||
| + | .catch(error => console.log(error)); | ||
| + | </ | ||
| ===== Іньші приклади ===== | ===== Іньші приклади ===== | ||
| * Приклад 2 (web) | * Приклад 2 (web) | ||