Що таке ланцюжок промісів (promise chaining) в javascript?

Що таке ланцюжок промісів (promise chaining) в javascript?

Ланцюжок промісів (promise chaining) - це техніка, яка дозволяє виконувати послідовні асинхронні операції та обробляти їх результат. Ланцюжок промісів використовується для послідовного виконання асинхронного коду та передачі результату в наступний проміс. Ось приклад використання ланцюжка промісів в JavaScript:

// create a promise
const promise = new Promise((resolve, reject) => {
  resolve(1);
});

// chain promises
promise.then((result) => {
  console.log(result); // 1
  return result + 1;
}).then((result) => {
  console.log(result); // 2
  return result + 1;
}).then((result) => {
  console.log(result); // 3
});

У цьому прикладі, ми створюємо проміс та ланцюжимо його для виконання послідовних асинхронних операцій.

Що таке Promise і які стани у нього є?

Проміс (Promise) - це об'єкт, який представляє результат асинхронної операції. Проміс може повертати три стани: виконання (fulfilled), відхилення (rejected) та очікування (pending). Коли проміс виконується успішно, він переходить у стан виконання (fulfilled) та повертає результат. Коли проміс відхиляється, він переходить у стан відхилення (rejected) та повертає помилку. Поки проміс не виконався або не відхилився, він перебуває у стані очікування (pending). Ось приклад використання промісу та обробки його результату:

// create a promise
const promise = new Promise((resolve, reject) => {
  // simulate async operation
  setTimeout(() => {
    const success = true;
    if (success) {
      resolve('Promise fulfilled');
    } else {
      reject('Promise rejected');
    }
  }, 1000);
});

// handle promise result
promise.then((result) => {
  console.log(result);
}).catch((error) => {
  console.log(error);
});

У цьому прикладі, ми створюємо проміс та обробляємо його результат.

Promise chaining

Ланцюжок промісів (promise chaining) - це техніка, яка дозволяє виконувати послідовні асинхронні операції та обробляти їх результат. Ланцюжок промісів використовується для послідовного виконання асинхронного коду та передачі результату в наступний проміс. Ось приклад використання ланцюжка промісів в JavaScript:

// create a promise
const promise = new Promise((resolve, reject) => {
  resolve(1);
});

// chain promises
promise.then((result) => {
  console.log(result); // 1
  return result + 1;
}).then((result) => {
  console.log(result); // 2
  return result + 1;
}).then((result) => {
  console.log(result); // 3
});

У цьому прикладі, ми створюємо проміс та ланцюжимо його для виконання послідовних асинхронних операцій.

Асинхронність в JS

Асинхронність в JavaScript - це можливість виконання операцій без очікування завершення попередніх операцій. Асинхронність використовується для виконання асинхронних операцій, таких як завантаження даних з сервера, взаємодія з користувачем тощо, без блокування виконання інших операцій. У JavaScript асинхронність реалізується за допомогою промісів (Promise), коллбеків (callback), async/await та інших технік. Ось приклад використання асинхронності в JavaScript:

// asynchronous example
setTimeout(() => {
  console.log('Async operation');
}, 1000);

У цьому прикладі, ми використовуємо setTimeout для виконання асинхронної операції через 1 секунду.

Leave a Reply

Your email address will not be published. Required fields are marked *