תכנות אסינכרוני - Promises
Promises הם אובייקטים המייצגים את התוצאה של פעולה אסינכרונית, שיכולה להיות מלאה בהצלחה או להיכשל.
יצירת Promise
let promise = new Promise(function(resolve, reject) {
// קוד אסינכרוני
let success = true;
if (success) {
resolve('Operation successful');
} else {
reject('Operation failed');
}
});
בדוגמה זו, יצרנו Promise שמייצג פעולה אסינכרונית שמצליחה או נכשלת על פי תנאי מסוים.
שימוש ב-Promise
promise.then(function(result) {
console.log(result); // מדפיס 'Operation successful' אם הפעולה הצליחה
}).catch(function(error) {
console.error(error); // מדפיס 'Operation failed' אם הפעולה נכשלה
});
ניתן להשתמש ב-then
ו-catch
כדי לטפל בתוצאה של ה-Promise.
Promises מקוננים
let promise1 = new Promise(function(resolve, reject) {
resolve('Promise 1 successful');
});
let promise2 = new Promise(function(resolve, reject) {
resolve('Promise 2 successful');
});
promise1.then(function(result) {
console.log(result);
return promise2;
}).then(function(result) {
console.log(result);
}).catch(function(error) {
console.error(error);
});
ניתן לשרשר Promises כדי לבצע פעולות אסינכרוניות ברצף.