objavlenie_promisi

Различия

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

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

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