לשפות התכנות כגון PHP ו-C יש א שינה (שנייה) פונקציה להשהות את הביצוע למשך פרק זמן קבוע. לג'אווה יש א thread.sleep() , לפיתון יש זמן שינה() , ול-GO יש time.sleep(2*time.second) .
יצירת ג'אווה
בניגוד לשפות אחרות, ל-JavaScript אין שפות לִישׁוֹן() פוּנקצִיָה. אנו יכולים להשתמש בכמה גישות להדמיית לִישׁוֹן() פונקציה ב-JavaScript. התכונות כגון הבטחות ו אסינכרן/ממתין הפונקציה ב-JavaScript עזרה לנו להשתמש ב- לִישׁוֹן() לתפקד בצורה קלה יותר.
ה לְהַמתִין משמש להמתנה להבטחה וניתן להשתמש בו רק ב- אסינכרון פוּנקצִיָה. ההתנהגות של JavaScript היא אסינכרונית, ולכן יש מושג של הבטחות לטפל בהתנהגות אסינכרונית כזו. בגלל התנהגות אסינכרונית זו, הוא ממשיך בעבודתו ואינו ממתין לשום דבר במהלך הביצוע. אסינכרון/ממתין פונקציות עוזרות לנו לכתוב את הקוד בצורה סינכרונית.
כיצד להשתמש בפונקציית שינה ב-JavaScript?
לפני יישום השינה פונקציה ב-JavaScript , חשוב להבין את הביצוע של ה JavaScript קוד.
תחביר של sleep() ב-JavaScript
sleep(delayTime in milliseconds).then(() => { // code to be executed })
ניתן להשתמש בפונקציה sleep() יחד עם ה-async/await כדי לקבל את ההשהיה בין הביצוע. התחביר עבור אותו ניתן באופן הבא:
תחביר
const func = async () => { await sleep(delayTime in milliseconds) //code to be executed } fun()
התחבירים לעיל הם הדרך ליישם פונקציונליות שינה ב-JavaScript. כעת, נראה את הדוגמאות לשימוש בפונקציית sleep() ב-JavaScript.
דוגמה1
בדוגמה זו, אנו משתמשים ב- לִישׁוֹן() לתפקד עם ה אסינכרן/ממתין פונקציונליות. יש פונקציה כֵּיף() מוגדר עם כמה הצהרות. בתחילה, הטקסט 'שלום עולם' מוצג על המסך לאחר הפעלת הפונקציה. לאחר מכן, בגלל פונקציית השינה כֵּיף() מושהה למשך 2 שניות. לאחר השלמת פרק הזמן הנתון, הטקסט 'ברוכים הבאים ל-javaTpoint.com' יוצג על המסך ויחזור על עצמו עד לסיום הלולאה. הטקסט יחזור על עצמו 10 פעמים על המסך עם הפסקה של שתי שניות בכל איטרציה של הלולאה.
<p> There is a sleep of 2000 milliseconds </p> let sleep = ms => { return new Promise(resolve => setTimeout(resolve, ms)); }; document.write('Begin' + ' <br>'); document.write('Welcome to the javaTpoint.com' + ' <br>'); sleep(2000).then(() => { document.write('End'); });בדוק את זה עכשיו
תְפוּקָה
לאחר ביצוע הקוד לעיל, הפלט יהיה -
לאחר השהיה של 2 שניות, הפלט יהיה -