פרומיס שעוטף פרומיס
-
function valTimeout (val, ms) { return new Promise((resolve) => setTimeout(() => resolve(val), ms)) }; const res = await valTimeout(valTimeout(1, 10000), 1000); console.log(res);מה הקוד הזה מדפיס ואחרי כמה זמן?
(תנסה לחשוב לבד, אח"כ תבדוק בקונסול אם צדקת. אני לא צדקתי בניחוש שלי...)
-
function valTimeout (val, ms) { return new Promise((resolve) => setTimeout(() => resolve(val), ms)) }; const res = await valTimeout(valTimeout(1, 10000), 1000); console.log(res);מה הקוד הזה מדפיס ואחרי כמה זמן?
(תנסה לחשוב לבד, אח"כ תבדוק בקונסול אם צדקת. אני לא צדקתי בניחוש שלי...)
-
טעיתי... חשבתי שיהיה מודפס
Promise <pending>
הawait מחכה בשרשרת עד שהערך הסופי לא יהיה בר המתנה(await new Promise(x => x(new Promise(y => y(1))))) == 1 -
טעיתי... חשבתי שיהיה מודפס
Promise <pending>
הawait מחכה בשרשרת עד שהערך הסופי לא יהיה בר המתנה(await new Promise(x => x(new Promise(y => y(1))))) == 1 -
@dovid בעצם אני תופס שתמיד ידעתי את זה בתת המודע.
אותה שאלה אפשר לשאול בתחביר ה-then-י:Promise.resolve(Promise.resolve(1)).then(console.log)כבר אלף פעמים כבר כתבתי קוד שמבוסס על זה שה-then מקבל את הערך הסופי גם של הפרומיס הפנימי.
משום מה השאלה הזאת בלבלה אותי... -
@dovid אמר בפרומיס שעוטף פרומיס:
הawait מחכה בשרשרת עד שהערך הסופי לא יהיה בר המתנה
מריח כמו התנהגות שמזמינה באגים (או רק חוסר הבנה נכון של איך הקוד רץ)..
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות