ES2018 – יצירת finally ב-promise

תוספת חשובה ל-promises שחשוב להכיר

אין לכם ולכן כמה מושג עד כמה התאפקתי כדי לא לכתוב בכותרת ״סוף סוף הפיצ׳ר שכולם חיכו לו״ או בדיחת אבא איומה בסגנון זה או אחר. אבל חסתי עליכם ועל עצמי. בכל מקרה, מדובר בפיצ׳ר מגניב וחשוב במיוחד ב-promises. מי שלא מבין מה זה promises – מדובר ב-הפיצ׳ר בה״א הידיעה. במאמר הבא על ES6 אני מסביר עליו בפירוט.

finally הוא תוספת חשובה ביותר שמאפשרת לנו להכניס פונקציה שתמיד תמיד מתקיימת בלי קשר לתוצאות של ה-promise. גם אם הוא מצליח, גם אם הוא נכשל – זה יקרה. בואו ונראה דוגמה:


const myPromise = new Promise((resolve, reject) => {
  setTimeout(() => { resolve('success!!!'); }, 2000);
});

זו promise רגילה בתכלית שמה שיש בה זה resolve מיד אחרי 2000 מילישניות. אם אני רוצה לעבוד פה, אני אצטרך לשרשר לה then.


myPromise.then(
  result => { console.log(result) },
  failMessage => { console.log(failMessage) }
);

ב-then החביב יש לנו שתי פונקציות אנונימיות. הראשונה תעבוד במקרה של resolve והשניה במקרה של reject. כיוון שה-promise הזו תמיד מצליחה, אז תמיד נראה בקונסולה success. וזה נחמד. אבל אני יכול להוסיף עוד finally שתמיד יעבוד:


const myPromise = new Promise((resolve, reject) => {
  setTimeout(() => { resolve('success!!!'); }, 2000);
});

myPromise.then(
  result => { console.log(result) },
  failMessage => { console.log(failMessage) }
).finally(finallyMessage => { console.log('FINALLY!!')});

בלי שום קשר לתוצאות ה-promise, אני אראה צעקה finally בקונסולה. אין אמונה בגויים? שחקו עם זה כאן:

See the Pen promise finally example by Ran Bar-Zik (@barzik) on CodePen.

וזה.. זה מגניב 🙂 ושימושי, אפילו מאוד. למה? למשל אם יש לי אנימציה של ׳טעינה׳ שמתחילה ברגע שאני משגר את ה-promise, פה אני יכול לנקות אותה. אם יש לי איזה modal, זו יכולה להיות נקודה מצוינת לסגור אותו וכן הלאה. אם אני כותב ב-node, אז אני יכול לסגור connectionים. הקיצר, טוב להכיר.

פוסטים נוספים שכדאי לקרוא

פתרונות ומאמרים על פיתוח אינטרנט

נגישות טכנית – פודקאסט ומבוא

פרק בפודקאסטעל נגישות בעברית שצולל לכלים האוטומטיים ולפן המאד מאד טכני של הנגישות.

מיקרו בקרים

בית חכם עם ESPHome ו Home Assistant

הסבר על הום אסיסטנט, מערכת הקוד הפתוח לבית חכם ואיך לחבר אליה מיקרובקרים.

ESP32 מאפס לילדים

מדריך ל-ESP32 לילדים ולהורים מאפס

אחד הדברים הכי כיפיים בעולם הוא תכנות ותכנות בעולם האמיתי – המפעיל אורות, ציוד אלקטרוני ומכשירים הוא מלהיב ממש. המדריך מיועד להורים שרוצים ללמד את הילדים שלהם לתכנת.

גלילה לראש העמוד