Які основні правила використання промісів (promise) в javascript?
Проміс (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?
Проміс (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 робити ланцюг подій
Ланцюжок промісів (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
});
У цьому прикладі, ми створюємо проміс та ланцюжимо його для виконання послідовних асинхронних операцій.