מה השימוש של await ב- node JS?
מה השימוש של await ב- node JS?

וִידֵאוֹ: מה השימוש של await ב- node JS?

וִידֵאוֹ: מה השימוש של await ב- node JS?
וִידֵאוֹ: Node.js Tutorial #12 | async/await 2024, נוֹבֶמבֶּר
Anonim

עם צוֹמֶת v8, האסינכרון/ לְהַמתִין התכונה הושקה רשמית על ידי ה צוֹמֶת להתמודד עם הבטחות ושרשור פונקציות. אין צורך לשרשר את הפונקציות בזו אחר זו, פשוט לְהַמתִין הפונקציה שמחזירה את ההבטחה. אבל צריך להכריז על הפונקציה אסינכרון לפני מחכה פונקציה המחזירה הבטחה.

באופן זה, איך אתה משתמש בהמתנה?

ה לְהַמתִין מילת מפתח אפשר לשים את זה לפני כל פונקציה מבוססת הבטחה אסינכרון כדי להשהות את הקוד שלך באותה שורה עד שההבטחה תתקיים, ואז להחזיר את הערך המתקבל. בינתיים, קוד אחר שעשוי להמתין להזדמנות לביצוע יעשה זאת.

לאחר מכן, השאלה היא, מה הטעם בהמתנה לא-סינכרון? אסינכרון / לְהַמתִין מאפשר לעשות מסובך אסינכרוני קוד נראה פשוט כמו אחד סינכרוני. זה עושה כתיבה אסינכרוני קוד קל מאוד. כפי שציינת בשאלה שלך, זה נראה כאילו אתה כותב את הגרסה הסינכרונית - אבל זה למעשה אסינכרוני.

רק אז, למה אנחנו משתמשים בסינכרון ומחכים ב-JavaScript?

אסינכרון / לְהַמתִין נוצרה כדי לפשט את תהליך העבודה עם וכתיבת הבטחות משורשרות. אסינכרון פונקציות מחזירות הבטחה. אם הפונקציה זורקת שגיאה, ההבטחה תידחה. אם הפונקציה מחזירה ערך, ההבטחה תיפתר.

איך מחכה אסינכרון עובד?

JavaScript ES8 הוצג אסינכרון / לְהַמתִין זה עושה את עבודה שֶׁל עובד עם הבטחות קל יותר. א אסינכרון פונקציה יכולה להכיל an לְהַמתִין ביטוי, שמשהה את ביצוע הפונקציה ומחכה להחלטת ההבטחה שעברה, ולאחר מכן ממשיך את אסינכרון ביצוע הפונקציה ומחזיר את הערך שנפתר.

מוּמלָץ: