5.1 āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āĻŋ ?

 

āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻšāϞ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ™ā§āϗ⧇āϞ-āĻĨā§āϰ⧇āĻĄā§‡āĻĄ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚ āĻ˛ā§āϝāĻžāĻ™ā§āĻ—ā§ā§Ÿā§‡āĻœÂ  āϝāĻžāϰ āĻŽāĻžāύ⧇ āĻāĻ• āϏāĻŽāϝāĻŧ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž, āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āχāĻžā§āϜāĻŋāύ āĻāĻ•āϟāĻŋ āϏāĻŋāĻ™ā§āϗ⧇āϞ āĻĨā§āϰ⧇āĻĄā§‡ āĻāĻ•āĻŦāĻžāϰ⧇ āĻāĻ•āϟāĻŋāĻŽāĻžāĻ¤ā§āϰ āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āϟāϕ⧇ āĻĒā§āϰāϏ⧇āĻ¸Â  āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤Â Â 

āϝāĻĻāĻŋāĻ“ āϏāĻŋāĻ™ā§āϗ⧇āϞ-āĻĨā§āϰ⧇āĻĄā§‡āĻĄ āĻ˛ā§āϝāĻžāĻ™ā§āĻ—ā§ā§Ÿā§‡āϜāϗ⧁āϞāĻŋ āϕ⧋āĻĄ āϞ⧇āĻ–āĻžāϕ⧇ āϏāĻšāϜ āĻ•āϰ⧇ āĻ•āĻžāϰāĻŖ āφāĻĒāύāĻžāϕ⧇ concurrency  āϏāĻ‚āĻ•ā§āϰāĻžāĻ¨ā§āϤ āϏāĻŽāĻ¸ā§āϝāĻžāϗ⧁āϞāĻŋ āύāĻŋāϝāĻŧ⧇ āϚāĻŋāĻ¨ā§āϤāĻž āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āύāĻž, āϝāĻžāϰ āĻ…āĻ°ā§āĻĨ āĻšāϞ āφāĻĒāύāĻŋ āĻŽā§‡āχāύ āĻĨā§āϰ⧇āĻĄāϟāĻŋ āĻŦā§āϞāĻ• āύāĻž āĻ•āϰ⧇ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ⧇āϰ āĻŽāϤ⧋ āĻĻā§€āĻ°ā§āϘ āϏāĻŽā§Ÿ āϏāĻžāĻĒ⧇āĻ•ā§āώ āĻ•āĻžāϜāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āύāĻžāĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž, āϕ⧋āύ⧋ āĻāĻ•āϟāĻŋ āĻĻā§€āĻ°ā§āϘ āĻŦāĻžÂ  āϏāĻŽā§Ÿ āϏāĻžāĻĒ⧇āĻ•ā§āĻˇÂ  āĻ•āĻžāĻœÂ  āĻļ⧇āĻˇÂ  āύāĻž āĻšāĻ“ā§ŸāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āφāĻĒāύāĻŋ āĻŽā§‡āχāύ āĻĨā§āϰ⧇āĻĄāϕ⧇ āĻĻāĻŋā§Ÿā§‡ āĻ…āĻ¨ā§āϝ āϕ⧋āύ⧋ āĻ•āĻžāϜ āĻ•āϰāĻžāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āύāĻžāĨ¤

āϧāϰāĻž āϝāĻžāĻ•, āĻāĻ•āϟāĻŋ API āĻĨ⧇āϕ⧇ āĻ•āĻŋāϛ⧁ āĻĄā§‡āϟāĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻŋ āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āϟ āĻ•āϰāϞ⧇āύāĨ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϟāĻŋ āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āϟāϟāĻŋ  āĻĒā§āϰāϏ⧇āϏ āĻ•āϰāϤ⧇ āĻ•āĻŋāϛ⧁ āϏāĻŽāϝāĻŧ āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇ āϏ⧇āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻŽā§‡āχāύ āĻĨā§āϰ⧇āĻĄāϟāĻŋ āĻŦā§āϞāĻ• āĻšā§Ÿā§‡ āĻĨāĻžāĻ•āĻŦ⧇ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĨ⧇āϕ⧇ āϰ⧇āϏāĻĒāĻ¨ā§āϏ āφāϏāĻžāϰ āϜāĻ¨ā§āϝāĨ¤ āĻĢāϞ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖÂ  āĻ“āϝāĻŧ⧇āĻŦ āĻĒ⧇āϜāϟāĻŋāĻ‡Â  āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻšā§€āύ āĻšā§Ÿā§‡ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤

āĻ āĻŋāĻ• āĻāχ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āχ āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšāϝāĻŧāĨ¤ āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ (āϝ⧇āĻŽāύ: āĻ•āϞāĻŦā§āϝāĻžāĻ• āĻĢāĻžāĻ‚āĻļāύ, āĻĒā§āϰāĻŽāĻŋāϜ , āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•/āĻāĻ“ā§Ÿā§‡āϟ ), āφāĻĒāύāĻŋ āĻĒā§āϰāϧāĻžāύ āĻĨā§āϰ⧇āĻĄ āĻŦā§āϞāĻ• āύāĻž āĻ•āϰ⧇ āĻĻā§€āĻ°ā§āϘ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āϟāϗ⧁āϞāĻŋ āĻŦāĻž API āĻ•āϞ⧇āϰ āĻŽāϤ⧋ āϏāĻŽā§Ÿ āϏāĻžāĻĒ⧇āĻ•ā§āώ āĻ•āĻžāϜāϗ⧁āϞ⧋ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āϰ āĻŽāϤ⧋ āϏāĻŋāĻ™ā§āϗ⧇āϞ āĻĨā§āϰ⧇āĻĄā§‡āĻĄ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻŋāĻ‚ āĻ˛ā§āϝāĻžāĻ™ā§āĻ—ā§ā§Ÿā§‡āϜ āĻĻāĻŋā§Ÿā§‡ āĻŽāĻžāĻ˛ā§āϟāĻŋ āĻĨā§āϰ⧇āĻĄā§‡āĻĄ āĻ˛ā§āϝāĻžāĻ™ā§āĻ—ā§ā§Ÿā§‡āĻœā§‡āĻ°Â  āĻŽāϤ⧋ āĻ•āϰ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤

āϤāĻžāĻšāϞ⧇ āϚāϞ⧁āύ āφāϰ āĻ•āĻĨāĻž āύāĻž āĻŦāĻžā§œāĻŋā§Ÿā§‡ āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āύāĻŋā§Ÿā§‡ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āφāϞ⧋āϚāύāĻž āĻļ⧁āĻ°ā§Â  āĻ•āϰāĻž āϝāĻžāĻ•āĨ¤

āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?

āφāĻŽāϰāĻž āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āϝāĻžāĻ“ā§ŸāĻžāϰ āφāϗ⧇, āĻĒā§āϰāĻĨāĻŽā§‡ āĻœā§‡āύ⧇ āύ⧇āĻ“āϝāĻŧāĻž āĻĻāϰāĻ•āĻžāϰ āϕ⧀āĻ­āĻžāĻŦ⧇ āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϕ⧋āĻĄ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āχāĻžā§āϜāĻŋāύ⧇āϰ āĻ­āĻŋāϤāϰ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ āĻ¸ā§āĻŦāϰ⧂āĻĒ:

 
 
 
const second = () => {
console.log(‘Hello there!’);
}
const first = () => {
console.log(‘Hi there!’);
second();
console.log(‘The End’);
}
first();
 

 

āωāĻĒāϰ⧇āϰ āϕ⧋āĻĄāϟāĻŋ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āχāĻžā§āϜāĻŋāύ⧇āϰ āĻ­āĻŋāϤāϰ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āϤāĻž āĻŦā§‹āĻāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻŽāĻžāĻĻ⧇āϰ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻļāύ āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāϟ āĻāĻŦāĻ‚ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāϕ⧇āϰ āϧāĻžāϰāĻŖāĻžāϟāĻŋ āĻŦ⧁āĻāϤ⧇ āĻšāĻŦ⧇āĨ¤Â āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻļāύ āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāϟ āĻāĻŦāĻ‚ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āϏāĻ¸ā§āĻĒāĻ°ā§āϕ⧇ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāĻ°Â  āϧāĻžāϰāĻŖāĻž āύāĻž āĻĨāĻžāĻ•āĻ˛ā§‡Â Â āĻ…āύ⧁āϰ⧋āĻ§Â  āĻ•āϰāĻŦā§‹ āφāĻŽāĻžāĻĻ⧇āĻ°Â āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻļāύ āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāĻŸÂ āĻāĻŦāĻ‚ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āύāĻŋā§Ÿā§‡ āφāϞ⧋āϚāύāĻžāϟāĻŋ āĻ­āĻžāϞ⧋ āĻ•āϰ⧇ āĻĻ⧇āĻ–āĻžāϰ āϜāĻ¨ā§āϝāĨ¤Â 

āϝāĻ–āύ āĻāχ āϕ⧋āĻĄāϟāĻŋ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻšāϝāĻŧ, āϤāĻ–āύ āĻāĻ•āϟāĻŋ āĻ—ā§āϞ⧋āĻŦāĻžāϞ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻļāύ āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻž ( āϝāĻž main() āĻĻā§āĻŦāĻžāϰāĻž āϰāĻŋāĻĒā§āϰ⧇āϏ⧇āĻ¨ā§āϟ āĻ•āϰāĻž āĻšā§Ÿ) āĻāĻŦāĻ‚ āĻāχ main() āϕ⧇ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāϕ⧇āϰ āĻļā§€āĻ°ā§āώ⧇ āϠ⧇āϞ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧāĨ¤ āϤāĻžāϰāĻĒāϰ first() āĻĢāĻžāĻ‚āĻļāύāϟāĻŋ āϝāĻ–āύ āĻ•āϞ āĻšā§Ÿ āϤāĻ–āύ āĻāϟāĻŋāϕ⧇ āφāĻŦāĻžāĻ°Â  āĻ¸ā§āĻŸā§āϝāĻžāϕ⧇āϰ āωāĻĒāϰ⧇ āϠ⧇āϞ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧāĨ¤ āϤāĻžāĻšāϞ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāϕ⧇ āϏāĻŦāĻžāϰ āωāĻĒāϰ⧇ āφāϛ⧇ first() āĻāĻŦāĻ‚ āĻĒāϰ⧇ āφāϛ⧇ main() āĻĢāĻžāĻ‚āĻļāύāĨ¤ āϤāĻžāϰāĻĒāϰ āĻāϟāĻŋ first() āĻāϰ āĻ­āĻŋāϤāϰ⧇āϰ āϕ⧋āĻĄ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāϟ āĻ•āϰāĻŦ⧇āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§ŽÂ Â Hi there! āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāĻŸÂ āĻšāĻŦ⧇āĨ¤ āĻāϰ āĻĒāϰ⧇āϰ āϞāĻžāχāύ⧇ āφāϰ⧋ āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ āĻšā§Ÿā§‡āϛ⧇ second(). āϤāĻžāχ āĻāχ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋāĻ“ āφāĻŽāĻžāĻĻ⧇āϰ āĻ•āϞ āĻ¸ā§āĻŸā§‡āϕ⧇āϰ āϏāĻŦāĻžāϰ āωāĻĒāϰ āĻĸ⧁āĻ•āĻŦ⧇āĨ¤ āϝ⧇āϕ⧋āύ āĻāĻ•āϟ⧁ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰ⧁āύ,āφāĻŽāĻžāĻĻ⧇āϰ āĻ•āϞ āĻ¸ā§āĻŸā§‡āϕ⧇āϰ āϏāĻŦāĻžāϰ āωāĻĒāϰ⧇ āĻ°ā§Ÿā§‡āϛ⧇ second().āϤāĻžāχ second() āĻāχ āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āĻ­āĻŋāϤāϰ⧇āϰ āϕ⧋āĻĄ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāϟ āĻšāĻŦ⧇āĨ¤ āφāϰ āϤāĻžāĻšāĻ˛ā§‹Â â€˜Hello there!’

āĻāĻ–āύ second() āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āϏāĻŦ āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āϟ āĻļ⧇āώ āϤāĻžāχ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻĨ⧇āϕ⧇ second() āĻĢāĻžāĻ‚āĻļāύāϟāĻŋ āĻĄāĻŋāϞāĻŋāϟ āĻšā§Ÿā§‡ āϝāĻžāĻŦ⧇āĨ¤ āĻāĻ–āύ āĻ¸ā§āĻŸā§‡āϕ⧇āϰ āωāĻĒāϰ⧇ āĻ°ā§Ÿā§‡āϛ⧇ fitst() āĻĢāĻžāĻ‚āĻļāύ āφāĻ°Â console.log(‘The End’);āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āϟāϟāĻŋ āĻāĻ–āύāĻ“ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāω āĻšā§Ÿ āύāĻŋ āϤāĻžāχ āĻāχ āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āϟāϟāĻŋ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāϟ āĻšāĻŦ⧇āĨ¤ āĻāĻ–āύ first() āĻĢāĻžāĻ‚āĻļāύāϟāĻŋāϰ āĻ•āĻžāϜ āĻļ⧇āώ āϤāĻžāχ āĻāϟāĻŋāĻ“ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻĨ⧇āϕ⧇ āĻĒāĻĒ āĻšā§Ÿā§‡ āϝāĻžāĻŦ⧇āĨ¤ āφāϰ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϟāĻŋ āĻāχ āĻŽā§āĻšā§āĻ°ā§āϤ⧇ āϤāĻžāϰ āϏāĻŦ āĻ•āĻžāϜ āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ•āϰ⧇āϛ⧇,āϤāĻžāχ āĻ—ā§āϞ⧋āĻŦāĻžāϞ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻļāύ āĻ•āĻ¨ā§āĻŸā§‡āĻ•ā§āϏāϟ ( main()) āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻĨ⧇āϕ⧇ āĻĒāĻĒ āĻšā§Ÿā§‡ āϝāĻžāĻŦ⧇āĨ¤

āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?

āĻāĻ–āύ, āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āϧāĻžāϰāĻŖāĻž āφāϛ⧇, āφāϏ⧁āύ āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻ•āĻĨāĻž āĻŦāϞāĻŋāĨ¤ āĻāϟāĻŋ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāϤ⧇, āφāϏ⧁āύ āύ⧀āĻšā§‡āϰ āϕ⧋āĻĄāϟāĻŋ āĻĻ⧇āĻ–āĻŋ:

 
 
 
console.log(“Hello.”);
setTimeout(function() {
console.log(“Goodbye!”);
}, 3000);
console.log(“Hello again!”)
 


āωāĻĒāϰ⧇āϰ āϕ⧋āĻĄāϟāĻŋāϰ āφāωāϟāĻĒ⧁āϟ āĻ•āĻŋ āĻšāĻŦ⧇ āĻŦāϞ⧁āύ āϤ⧋ āĻĻ⧇āĻ–āĻŋāĨ¤ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āχāĻžā§āϜāĻŋāύ āωāĻĒāϰ⧇āϰ āϕ⧋āĻĄāϟāĻŋ āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏāĻ­āĻžāĻŦ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻŦ⧇ āύāĻžāĨ¤ āφāϏ⧁āύ āύ⧀āĻšā§‡āϰ āφāωāϟāĻĒ⧁āϟāϟāĻŋ āĻāĻ•āĻŦāĻžāϰ āĻĻ⧇āϖ⧇ āύ⧇āĻ“āϝāĻŧāĻž āϝāĻžāĻ•:

 
 
 
Hello
Hello again!
Goodbye!
 

 

āϕ⧋āĻĄāϟāĻŋāϤ⧇, āφāĻŽāĻžāĻĻ⧇āϰ āĻ•āύāϏ⧋āϞ⧇ āĻĒā§āϰāĻĨāĻŽā§‡Â Â Hello , āĻāϰāĻĒāϰ⧇ āφāĻŽāϰāĻž āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āϞāĻŋāϖ⧇āĻ›āĻŋāϞāĻžāĻŽ āϝāĻž āϤāĻŋāύ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻĒāϰ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āĻ•āύāϏ⧋āĻ˛ā§‡Â Goodbye āĻ•āϰāĻŦ⧇ āĻāĻŦāĻ‚ āϏāĻŦāĻžāϰ āĻļ⧇āώ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āϕ⧋āĻĄā§‡āϰ āĻļ⧇āώ āĻ…āĻ‚āĻļāϟāĻŋ Hello again! āĻ•āύāϏ⧋āϞ⧇ āϞāĻ— āĻ•āϰ⧇ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤ āϏāĻžāϧāĻžāϰāĻŖāϤ āϤāĻžāχ āĻšāĻŦāĻžāϰ āĻ•āĻĨāĻžÂ  āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ–āĻžāύ⧇, āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āχāĻžā§āϜāĻŋāύ āĻĒā§āϰāĻĨāĻŽÂ Hello āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āϟāϟāĻŋāϰ āĻŽāĻ§ā§āϝ āĻĻāĻŋāϝāĻŧ⧇ āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻāϟāĻŋāϕ⧇ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāĻŸÂ  āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ•āύāϏ⧋āϞ⧇ āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰ⧇, āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϞāĻžāχāύ⧇ āĻ—āĻŋāϝāĻŧ⧇ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āĻĻ⧇āϖ⧇ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋ āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϤāĻŋāύ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāĻžāϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āϤāĻžāχ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻāχ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋāϕ⧇ āφāϰ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāϕ⧇ āύāĻž āϰ⧇āϖ⧇ āĻāϟāĻŋāϕ⧇ āĻ•āϞāĻŦā§āϝāĻžāĻ•Â  queue  āĻ¤ā§‡Â  āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻā§‡ā§Ÿ āĻāĻŦāĻ‚ āĻļ⧇āώ āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āϚāϞ⧇ āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻāϟāĻŋāϕ⧇ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāϟ āĻ•āϰ⧇ āϝāĻž āĻ•āύāϏ⧋āĻ˛ā§‡Â Hello again! āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰāĻŦ⧇āĨ¤ āĻāϰāĻĒāϰ āϝāĻ–āύ āϤāĻŋāύ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻšā§Ÿā§‡ āϝāĻžā§Ÿ āϤāĻ–āύ āχāϭ⧇āĻ¨ā§āϟ āϞ⧁āĻĒ āĻ•āϞāĻŦā§āϝāĻžāĻ• queue āĻĨ⧇āϕ⧇ āϏ⧇āĻ‡Â  setTimeout āϕ⧇ āφāĻŦāĻžāϰ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāϕ⧇ āύāĻŋā§Ÿā§‡ āφāϏ⧇ āĻāĻŦāĻ‚Â  āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāϟ āĻ•āϰ⧇ āĻĢāϞ⧇ āφāĻŽāϰāĻž āĻ•āύāϏ⧋āĻ˛ā§‡Â Goodbye  āĻĒāĻžāχāĨ¤ āĻāĻ•āϟ⧁ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰ⧇ āĻĻ⧇āϖ⧁āύ, āφāĻŽāϰāĻž āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤāĻŋāύ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰ⧇ āϏāĻŽā§Ÿ āύāĻˇā§āϟ āĻ•āϰāĻŋ āύāĻŋ āφāĻŽāϰāĻž āĻāχ āϏāĻŽā§Ÿā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āϕ⧋āĻĄā§‡āϰ āĻŦāĻžāĻ•āĻŋ āĻ•āĻžāϜāϗ⧁āϞ⧋ āĻ•āϰ⧇ āĻĢ⧇āϞ⧇āĻ›āĻŋ āφāϰ āϝāĻ–āύ setTimeout āĻāϰ āĻ•āĻžāϜ āĻšā§Ÿā§‡āϛ⧇ āϤāĻ–āύ āĻāϟāĻŋāϕ⧇ āφāĻŦāĻžāϰ āĻ•āϞ āĻ¸ā§āĻŸā§āϝāĻžāϕ⧇ āĻāύ⧇ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāϟ āĻ•āϰ⧇āĻ›āĻŋ āĨ¤

āϤāĻžāχ āĻ…ā§āϝāĻžāϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāϏ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡, āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āϚāĻžāϞāĻžāύ⧋āϰ āϏāĻŽāϝāĻŧ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋāϰ āϰ⧇āĻ¸ā§āĻĒāĻ¨ā§āϏ⧇āϰ āϜāĻ¨ā§āϝ āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰ⧇ āύāĻž, āĻŦāϰāĻ‚ āĻāϟāĻŋ āĻĒāϰāĻŦāĻ°ā§āĻ¤ā§€Â  āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞāĻŋ āĻāĻ•ā§āϏ⧇āĻ•āĻŋāωāϟ āĻ•āϰāϤ⧇ āĻĨāĻžāϕ⧇ āĨ¤

  • āĻāĻ•āϟāĻŋ async āĻĢāĻžāĻ‚āĻļāύ āĻšāϞ async āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄā§‡āϰ āϏāĻžāĻĨ⧇ āĻ˜ā§‹āώāĻŋāϤ āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āĻāĻŦāĻ‚ āĻāϟāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ await āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻ…āύ⧁āĻŽā§‹āĻĻāĻŋāϤāĨ¤ async āĻāĻŦāĻ‚ await keyword āϗ⧁āϞāĻŋ asynchronous, promise-based āφāϚāϰāĻŖāϕ⧇ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻļ⧈āϞ⧀āϤ⧇ āϞāĻŋāĻ–āϤ⧇ āϏāĻ•ā§āώāĻŽ āĻ•āϰ⧇, āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ promise āĻšā§‡āχāύāϗ⧁āϞāĻŋ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāĻžāϰ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻāĻĄāĻŧāĻžāϤ⧇āĨ¤
function resolveAfter2Seconds() {
return new Promise((resolve) => {
setTimeout(() => {
resolve(“resolved”);
}, 2000);
});
}
async function asyncCall() {
console.log(“calling”);
const result = await resolveAfter2Seconds();
console.log(result);
// expected output: “resolved”
}
āωāĻĒāϰ⧇āϰ āĻāϰ output āύāĻŋāĻšā§‡ āĻĻ⧇āĻ“ā§ŸāĻž āĻšāϞāĨ¤
calling
resolved
 
  • āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āωāĻĻāĻžāĻšāϰāϪ⧇, āφāĻŽāϰāĻž āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĻ⧁āϟāĻŋ await promise āĻ•āϰāĻ›āĻŋāĨ¤ āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āϤāĻŋāύāϟāĻŋ āĻĒāĻ°ā§āϝāĻžāϝāĻŧ⧇ āĻĢāĻžāĻ‚āĻļāύ foo() āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϚāϞ⧇āĨ¤
async function foo() {
const result1 = await new Promise((resolve) =>
setTimeout(() => resolve(“1”))
);
const result2 = await new Promise((resolve) =>
setTimeout(() => resolve(“2”))
);
}
foo();
    1. foo āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āĻŦāĻĄāĻŋāϰ āĻĒā§āϰāĻĨāĻŽ āϞāĻžāχāύāϟāĻŋ promise āĻāϰ āϏāĻžāĻĨ⧇ await āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāĻž āϏāĻš synchronous āĻ­āĻžāĻŦ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ foo āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āϤāĻ–āύ āĻ¸ā§āĻĨāĻ—āĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻĢāĻžāĻ‚āĻļāύ⧇ āĻĢāĻŋāϰ⧇ āφāϏ⧇ āϝāĻžāϕ⧇ foo āĻŦāϞāĻž āĻšāϝāĻŧāĨ¤
 
    1. āĻ•āĻŋāϛ⧁ āϏāĻŽāϝāĻŧ āĻĒāϰ⧇, āϝāĻ–āύ āĻĒā§āϰāĻĨāĻŽ promise āĻĒā§‚āĻ°ā§āĻŖ āĻšāϝāĻŧ āĻŦāĻž āĻĒā§āϰāĻ¤ā§āϝāĻžāĻ–ā§āϝāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ, āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āφāĻŦāĻžāϰ foo() āϤ⧇ āϚāϞ⧇ āϝāĻžāϝāĻŧāĨ¤ āĻĒā§āϰāĻĨāĻŽ promise āĻĒā§‚āĻ°ā§āĻŖāϤāĻžāϰ āĻĢāϞāĻžāĻĢāϞ (āϝāĻĻāĻŋ āĻāϟāĻŋ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻ–ā§āϝāĻžāύ āύāĻž āĻ•āϰāĻž āĻšāϝāĻŧ) await āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋ āĻĨ⧇āϕ⧇ āĻĢāĻŋāϰ⧇ āφāϏ⧇āĨ¤ āĻāĻ–āĻžāύ⧇ result1 āĻāϰ āϜāĻ¨ā§āϝ 1 āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āĻ…āĻŦā§āϝāĻžāĻšāϤ, āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ await āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋ āĻŽā§‚āĻ˛ā§āϝāĻžāϝāĻŧāύ āĻ•āϰāĻž āĻšāϝāĻŧ. āφāĻŦāĻžāϰ, foo-āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āĻ¸ā§āĻĨāĻ—āĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧāĨ¤
 
  1. āĻ•āĻŋāϛ⧁ āϏāĻŽāϝāĻŧ āĻĒāϰ⧇, āϝāĻ–āύ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ promise āĻĒā§‚āĻ°ā§āĻŖ āĻšāϝāĻŧ āĻŦāĻž āĻĒā§āϰāĻ¤ā§āϝāĻžāĻ–ā§āϝāĻžāύ āĻ•āϰāĻž āĻšāϝāĻŧ, āϤāĻ–āύ āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ foo āϤ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻĒā§āϰāĻŦ⧇āĻļ āĻ•āϰ⧇āĨ¤ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ promise āϰ⧇āĻœā§‹āϞāĻŋāωāĻļāύ⧇āϰ āĻĢāϞāĻžāĻĢāϞ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ awaitāϰ āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋ āĻĨ⧇āϕ⧇ āĻĢāĻŋāϰ⧇ āφāϏ⧇āĨ¤ āĻāĻ–āĻžāύ⧇ result2 āĻāϰ āϜāĻ¨ā§āϝ 2 āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤
  • āĻāĻ•āϟāĻŋ async function āϞāĻŋāĻ– āϝ⧇āϟāĻŋ āĻāĻ•āϟāĻŋ promise āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇āĨ¤
  • āĻāĻŽāύ āĻāĻ•āϟāĻŋ async function āϞāĻŋāĻ– āϝ⧇āϟāĻŋ ā§Š āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻĒāϰ promise return āĻ•āϰāĻŦ⧇āĨ¤
  • āύāĻŋāĻšā§‡āϰ āϕ⧋āĻĄāϟāĻŋāϰ āφāωāϟāĻĒ⧁āϟ āĻ•āĻŋ āĻšāĻŦ⧇ āϤāĻž āĻ¸ā§āĻŸā§‡āĻĒ āĻŦāĻžāχ āĻ¸ā§āĻŸā§‡āĻĒ āĻŦ⧁āĻāĻŋā§Ÿā§‡ āĻŦāϞāϤ⧇ āĻšāĻŦ⧇?
console.log(“Hello World”);
setTimeout(()=>{
console.log(“Hi”);
})
console.log(“Hello World Again”);