Що таке ланцюжок промісів (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 секунду.