תכנות אסינכרוני - 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 כדי לבצע פעולות אסינכרוניות ברצף.

תגובות

רק רגע

מאמרים אחרונים

















































שיתוף