$lang['tuto'] = "ಟ್ಯುಟೋರಿಯಲ್"; ?> ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಅಸಿಂಕ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು / ನಿರೀಕ್ಷಿಸಿ: ಔಟ್‌ಪುಟ್ ಟೈಮಿಂಗ್‌ಗಳಿಗೆ ಆಳವಾದ ಡೈವ್

Temp mail SuperHeros
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಅಸಿಂಕ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು / ನಿರೀಕ್ಷಿಸಿ: ಔಟ್‌ಪುಟ್ ಟೈಮಿಂಗ್‌ಗಳಿಗೆ ಆಳವಾದ ಡೈವ್
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಅಸಿಂಕ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು / ನಿರೀಕ್ಷಿಸಿ: ಔಟ್‌ಪುಟ್ ಟೈಮಿಂಗ್‌ಗಳಿಗೆ ಆಳವಾದ ಡೈವ್

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅಸಿಂಕ್ ಅನ್ನು ಸ್ಪಷ್ಟಪಡಿಸುವುದು/ಟೈಮಿಂಗ್‌ನಲ್ಲಿ ವರ್ತನೆಯನ್ನು ನಿರೀಕ್ಷಿಸಿ

ಆಧುನಿಕ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ, ಅಸಿಂಕ್ / ನಿರೀಕ್ಷಿಸಿ ಅಸಮಕಾಲಿಕ ಕೋಡ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಅತ್ಯಗತ್ಯ ಸಾಧನವಾಗಿದೆ. ಅದರ ಉಪಯುಕ್ತತೆಯ ಹೊರತಾಗಿಯೂ, ಈ ತಂತ್ರಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಗಳಲ್ಲಿ ಔಟ್‌ಪುಟ್‌ಗಳ ನಿಖರವಾದ ಸಮಯವನ್ನು ಊಹಿಸಲು ಬಂದಾಗ ಅನೇಕ ಅಭಿವರ್ಧಕರು ಗೊಂದಲವನ್ನು ಎದುರಿಸುತ್ತಾರೆ. ಅಡಾಫೇಸ್‌ನಿಂದ ಮಾಡಲಾದ ಕೋಡಿಂಗ್ ಮೌಲ್ಯಮಾಪನಗಳಲ್ಲಿ ಇದು ವಿಶೇಷವಾಗಿ ಸತ್ಯವಾಗಿದೆ, ಅಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳ ಹರಿವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ನಿರ್ಣಾಯಕವಾಗಿದೆ.

ನೀವು ಕೆಲಸ ಮಾಡುತ್ತಿರುವ ಸಮಸ್ಯೆಯು ತೋರಿಕೆಯಲ್ಲಿ ಒಂದೇ ರೀತಿಯ ನಡವಳಿಕೆಗಳೊಂದಿಗೆ ಎರಡು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುತ್ತದೆ, ಆದರೆ ಸಮಯದ ಪರಿಭಾಷೆಯಲ್ಲಿ ವಿಭಿನ್ನ ಫಲಿತಾಂಶಗಳು. ಮೊದಲ ನೋಟದಲ್ಲಿ, ಕಾರ್ಯಗಳು ಎರಡೂ 10 ಸೆಕೆಂಡುಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಆದರೆ ನಿಜವಾದ ಉತ್ತರವು ಅನೇಕ ಡೆವಲಪರ್‌ಗಳನ್ನು ಆಶ್ಚರ್ಯಗೊಳಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಇದು ಭರವಸೆಗಳನ್ನು ಹೇಗೆ ಪರಿಹರಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಆಳವಾದ ತಿಳುವಳಿಕೆಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.

ಈ ಲೇಖನವು ಕೋಡ್ ಮೂಲಕ ನಿಮ್ಮನ್ನು ಕರೆದೊಯ್ಯುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ, ಅದು ಹೇಗೆ ಎಂದು ಒಡೆಯುತ್ತದೆ ಅಸಿಂಕ್ ಮತ್ತು ನಿರೀಕ್ಷಿಸಿ ಯಂತ್ರಶಾಸ್ತ್ರವು ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಹಾಗೆಯೇ ಭರವಸೆಯ ನಿರ್ಣಯದ ಕ್ರಮವು ಅಂತಿಮ ಫಲಿತಾಂಶದ ಮೇಲೆ ಹೇಗೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ಇದರ ಅಂತ್ಯದ ವೇಳೆಗೆ, ಅಸಮಕಾಲಿಕ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಸಮಯವು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದರ ಕುರಿತು ನೀವು ಸ್ಪಷ್ಟವಾದ ತಿಳುವಳಿಕೆಯನ್ನು ಹೊಂದಿರಬೇಕು.

ಮೊದಲ ಫಂಕ್ಷನ್ ಔಟ್‌ಪುಟ್ ಏಕೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕೋಡ್‌ಗೆ ಧುಮುಕೋಣ 24 5 ಸೆಕೆಂಡುಗಳ ನಂತರ, ಮತ್ತು ಎರಡನೇ ಕಾರ್ಯವು ಸಹ ಔಟ್ಪುಟ್ ಆಗುತ್ತದೆ 24 ಆದರೆ ವಿಭಿನ್ನ ಭರವಸೆಯ ರಚನೆಯೊಂದಿಗೆ. ಈ ಜ್ಞಾನದೊಂದಿಗೆ, ನಿಮ್ಮ ಮುಂಬರುವ ಸಂದರ್ಶನದ ಮೌಲ್ಯಮಾಪನಗಳಿಗೆ ನೀವು ಉತ್ತಮವಾಗಿ ಸಜ್ಜಾಗುತ್ತೀರಿ.

ಆಜ್ಞೆ ಬಳಕೆಯ ಉದಾಹರಣೆ
ಸೆಟ್ಟೈಮ್ಔಟ್ setTimeout(() =>setTimeout(() => {res(x);}, 5000);
ಈ ಆಜ್ಞೆಯು ನಿರ್ದಿಷ್ಟ ವಿಳಂಬದ ನಂತರ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, 5 ಸೆಕೆಂಡುಗಳ ನಂತರ ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸುವ ಮೂಲಕ ಅಸಮಕಾಲಿಕ ನಡವಳಿಕೆಯನ್ನು ಅನುಕರಿಸಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
ಹೊಸ ಭರವಸೆ return new Promise(res =>ಹೊಸ ಭರವಸೆಯನ್ನು ಹಿಂತಿರುಗಿಸಿ (ರೆಸ್ => {...});
ಅಸಿಂಕ್ರೊನಸ್ ಕೋಡ್ ಅನ್ನು ಸುತ್ತುವ ಹೊಸ ಭರವಸೆಯನ್ನು ರಚಿಸುತ್ತದೆ, ಇದು ಅಸಿಂಕ್ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಮಾಡಿದ ನಂತರ ಮೌಲ್ಯಗಳನ್ನು ಪರಿಹರಿಸಲು ಅಥವಾ ತಿರಸ್ಕರಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.
ನಿರೀಕ್ಷಿಸಿ const f = 5s (3) ನಂತರ ನಿರೀಕ್ಷಿಸಿ;
ಅಸಿಂಕ್ರೊನಸ್ ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ಕೋಡ್ ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ವರ್ತಿಸುವಂತೆ ಮಾಡುವ ಭರವಸೆಯನ್ನು ಪರಿಹರಿಸುವವರೆಗೆ ಅಸಿಂಕ್ ಫಂಕ್ಷನ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ವಿರಾಮಗೊಳಿಸುತ್ತದೆ.
ಅಸಿಂಕ್ ಕಾರ್ಯ ಅಸಿಂಕ್ ಫಂಕ್ಷನ್ ಮಲ್ಟಿ (ಇನ್‌ಪುಟ್) {...}
ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುವ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯವನ್ನು ಘೋಷಿಸುತ್ತದೆ ನಿರೀಕ್ಷಿಸಿ ಒಂದು ಕ್ಲೀನ್ ಮತ್ತು ಓದಬಲ್ಲ ರೀತಿಯಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಒಳಗೆ.
ನಂತರ mult(2).then(value =>mult(2).ನಂತರ (ಮೌಲ್ಯ => {...});
ವಾಗ್ದಾನಕ್ಕೆ ಕಾಲ್‌ಬ್ಯಾಕ್ ಅನ್ನು ಲಗತ್ತಿಸುತ್ತದೆ. ಭರವಸೆಯನ್ನು ಪರಿಹರಿಸಿದಾಗ, ಕಾಲ್ಬ್ಯಾಕ್ ಅನ್ನು ಪರಿಹರಿಸಿದ ಮೌಲ್ಯದೊಂದಿಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.
ಸಮನ್ವಯದ ಭರವಸೆ const f = after5s(3); const g = after5s(4);
ಇದು ಎರಡು ಭರವಸೆಗಳನ್ನು ಸಮಾನಾಂತರವಾಗಿ ಚಲಾಯಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಒಂದನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಪರಿಹರಿಸಲು ಕಾಯದೆ, ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.
console.log console.log(ಮೌಲ್ಯ);
ಡೀಬಗ್ ಮಾಡಲು ಅಥವಾ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸುವ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಕನ್ಸೋಲ್‌ಗೆ ಮೌಲ್ಯವನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡುತ್ತದೆ.
res ರೆಸ್ (x);
ಒಂದು ಸಂಕ್ಷಿಪ್ತ ರೂಪ ಪರಿಹರಿಸು ಭರವಸೆಗಳಲ್ಲಿ, ಭರವಸೆ ಪೂರ್ಣಗೊಂಡಿದೆ ಎಂದು ಗುರುತಿಸಲು ಮತ್ತು ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸಲು ಇದನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ.
ಇನ್ಪುಟ್ * ನಿರೀಕ್ಷಿಸಿ f ರಿಟರ್ನ್ ಇನ್ಪುಟ್ * ನಿರೀಕ್ಷಿಸಿ f * ನಿರೀಕ್ಷಿಸಿ g;
ಎರಡು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳ ಪರಿಹರಿಸಿದ ಮೌಲ್ಯಗಳಿಂದ ಇನ್‌ಪುಟ್ ಅನ್ನು ಗುಣಿಸುತ್ತದೆ, ಲೆಕ್ಕಾಚಾರವನ್ನು ನಿರ್ವಹಿಸುವ ಮೊದಲು ಎರಡೂ ಭರವಸೆಗಳನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

JavaScript ನಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಅನ್ವೇಷಿಸಲಾಗುತ್ತಿದೆ

ಒದಗಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳ ಶಕ್ತಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತವೆ ಅಸಿಂಕ್ ಮತ್ತು ನಿರೀಕ್ಷಿಸಿ ಕೀವರ್ಡ್ಗಳು. ವಿಳಂಬವಾದ ಕಾರ್ಯಾಚರಣೆಗಳಂತಹ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳನ್ನು ಸಮರ್ಥವಾಗಿ ನಿರ್ವಹಿಸುವುದು ಮುಖ್ಯ ಆಲೋಚನೆಯಾಗಿದೆ. ಎರಡೂ ಉದಾಹರಣೆಗಳಲ್ಲಿ, ಕಾರ್ಯ ನಂತರ 5ಸೆ(x) ಮೌಲ್ಯದೊಂದಿಗೆ ಪರಿಹರಿಸುವ ಭರವಸೆಯನ್ನು ಹಿಂದಿರುಗಿಸುವ ಮೂಲಕ 5 ಸೆಕೆಂಡುಗಳ ವಿಳಂಬವನ್ನು ಅನುಕರಿಸುತ್ತದೆ x. ಕಾರ್ಯಾಚರಣೆಗಳ ಅನುಕ್ರಮವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಭರವಸೆಗಳು ಕಾರ್ಯದ ಹರಿವಿನೊಂದಿಗೆ ಹೇಗೆ ಸಂವಹನ ನಡೆಸುತ್ತವೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಈ ವಿಳಂಬವು ಅತ್ಯಗತ್ಯವಾಗಿರುತ್ತದೆ.

ಮೊದಲ ಕಾರ್ಯದಲ್ಲಿ, ಬಹು (ಇನ್ಪುಟ್), ಎರಡು ಭರವಸೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಕೋಡ್ ಅನುಕ್ರಮವಾಗಿ ಕಾಯುತ್ತದೆ. ದಿ ನಿರೀಕ್ಷಿಸಿ ಭರವಸೆಯನ್ನು ಹಿಂದಿರುಗಿಸುವವರೆಗೆ ಕೋಡ್ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ವಿರಾಮಗೊಳಿಸುತ್ತದೆ ಎಂದು ಕೀವರ್ಡ್ ಖಚಿತಪಡಿಸುತ್ತದೆ ನಂತರ 5 ಸೆ(3) ಪರಿಹರಿಸಲಾಗಿದೆ. ನಂತರ, ಮೊದಲ ಭರವಸೆಯನ್ನು ಪರಿಹರಿಸಿದ ನಂತರ, ಕೋಡ್ ಎರಡನೇ ಭರವಸೆಗಾಗಿ ಮತ್ತೊಂದು 5 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯುತ್ತದೆ ನಂತರ 5 ಸೆ(4) ಪರಿಹರಿಸಲು. ಲೆಕ್ಕಾಚಾರವನ್ನು ಮಾಡುವ ಮೊದಲು ಇದು ಒಟ್ಟು 10 ಸೆಕೆಂಡುಗಳ ಕಾಲ ಕಾಯುವ ಸಮಯಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ. ಪರಿಹರಿಸಿದ ಎರಡೂ ಮೌಲ್ಯಗಳಿಂದ ಇನ್ಪುಟ್ನ ಗುಣಾಕಾರವು ಅಂತಿಮ ಔಟ್ಪುಟ್ ಅನ್ನು ನೀಡುತ್ತದೆ.

ಎರಡನೇ ಕಾರ್ಯ, second_mult(ಇನ್‌ಪುಟ್), ಎರಡೂ ಭರವಸೆಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಪ್ರಾರಂಭಿಸುವ ಮೂಲಕ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ. ನಿಯೋಜಿಸುವ ಮೂಲಕ ನಂತರ 5 ಸೆ(3) ಮತ್ತು ನಂತರ 5 ಸೆ(4) ಅನ್ವಯಿಸುವ ಮೊದಲು ವೇರಿಯಬಲ್‌ಗಳಿಗೆ ನಿರೀಕ್ಷಿಸಿ, ಎರಡೂ ಭರವಸೆಗಳು ಸಮಾನಾಂತರವಾಗಿ ನಡೆಯುತ್ತವೆ. ಕೋಡ್ ತಲುಪಿದಾಗ ನಿರೀಕ್ಷಿಸಿ ಹೇಳಿಕೆಗಳು, ಎರಡೂ ಭರವಸೆಗಳನ್ನು ಪರಿಹರಿಸಲು ಇದು ಕಾಯುತ್ತಿದೆ, ಆದರೆ ಅವು ಈಗಾಗಲೇ ಪ್ರಗತಿಯಲ್ಲಿವೆ, ಒಟ್ಟು ಕಾಯುವ ಸಮಯವನ್ನು ಕೇವಲ 5 ಸೆಕೆಂಡುಗಳಿಗೆ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಈ ಏಕಕಾಲಿಕ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಉತ್ತಮಗೊಳಿಸುವ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ಎತ್ತಿ ತೋರಿಸುತ್ತದೆ.

ಈ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಅಸಮಕಾಲಿಕ ಕೋಡ್ ಅನ್ನು ಸ್ವಚ್ಛವಾಗಿ ನಿರ್ವಹಿಸಲು ಅಸಿಂಕ್ ಮತ್ತು ವೇಯ್ಟ್ ಅನ್ನು ಹೇಗೆ ಬಳಸಬಹುದು ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ. ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಅಥವಾ ಅನುಕ್ರಮವಾಗಿ ಯಾವಾಗ ಚಲಾಯಿಸಬೇಕು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ದಿ ಎರಡನೇ_ಮಲ್ಟ್ ಕ್ರಿಯೆಯ ವಿಧಾನವು ಅನಗತ್ಯ ವಿಳಂಬವನ್ನು ತಪ್ಪಿಸುವ ಪ್ರಯೋಜನವನ್ನು ತೋರಿಸುತ್ತದೆ, ಆದರೆ ಕಾರ್ಯಾಚರಣೆಗಳು ನಿರ್ದಿಷ್ಟ ಕ್ರಮದಲ್ಲಿ ಸಂಭವಿಸಿದಾಗ ಮೊದಲ ಉದಾಹರಣೆಯು ಉಪಯುಕ್ತವಾಗಿದೆ. ನೈಜ-ಪ್ರಪಂಚದ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಎರಡೂ ಉದಾಹರಣೆಗಳು ವ್ಯಾಪಕವಾಗಿ ಅನ್ವಯಿಸುತ್ತವೆ ಭರವಸೆ ನಿರ್ವಹಣೆ API ಗಳಿಂದ ಡೇಟಾವನ್ನು ಪಡೆಯುವುದು ಅಥವಾ ಬಾಹ್ಯ ಸಂಪನ್ಮೂಲಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವಂತಹ ಅಗತ್ಯವಿದೆ.

Async/Wayit Behavior ಅನ್ನು JavaScript ಟೈಮಿಂಗ್‌ನಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ

ಈ ಉದಾಹರಣೆಯು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿಕೊಂಡು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ ಅಸಿಂಕ್ ಮತ್ತು ನಿರೀಕ್ಷಿಸಿ ಕಾರ್ಯಗಳು.

function after5s(x) {
  return new Promise(res => {
    setTimeout(() => {
      res(x);
    }, 5000);
  });
}

// First approach using async/await with sequential waits
async function mult(input) {
  const f = await after5s(3);
  const g = await after5s(4);
  return input * f * g;
}

// Calling the function and handling the promise resolution
mult(2).then(value => {
  console.log(value); // Output: 24 after 10 seconds
});

ಅಸಿಂಕ್ ಅನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡುವುದು/ಸಮಕಾಲಿಕ ಎಕ್ಸಿಕ್ಯೂಶನ್‌ಗಾಗಿ ನಿರೀಕ್ಷಿಸಿ

ಕೋಡ್‌ನ ಈ ಆವೃತ್ತಿಯು ಪ್ರತಿ ಭರವಸೆಯನ್ನು ಅನುಕ್ರಮವಾಗಿ ಕಾಯುವುದನ್ನು ತಪ್ಪಿಸಲು ಪ್ರಾಮಿಸ್ ಕಾಕರೆನ್ಸಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಅಸಿಂಕ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸುತ್ತದೆ.

function after5s(x) {
  return new Promise(res => {
    setTimeout(() => {
      res(x);
    }, 5000);
  });
}

// Second approach optimizing by starting both promises concurrently
async function second_mult(input) {
  const f = after5s(3); // Starts promise immediately
  const g = after5s(4); // Starts second promise concurrently
  return input * await f * await g;
}

// Calling the function and handling the promise resolution
second_mult(2).then(value => {
  console.log(value); // Output: 24 after 5 seconds
});

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಮಾದರಿಗಳನ್ನು ಮಾಸ್ಟರಿಂಗ್ ಮಾಡುವುದು

ಆಧುನಿಕ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿನ ಒಂದು ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಯೆಂದರೆ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳನ್ನು ಹೇಗೆ ಪರಿಣಾಮಕಾರಿಯಾಗಿ ನಿರ್ವಹಿಸುವುದು. ಆದರೆ ದಿ ಅಸಿಂಕ್ / ನಿರೀಕ್ಷಿಸಿ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅಸಮಕಾಲಿಕ ಕೋಡ್‌ನ ಓದುವಿಕೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ, ಡೆವಲಪರ್‌ಗಳು ಪರಿಗಣಿಸಬೇಕಾದ ಇತರ ಅಂಶಗಳಿವೆ. ಅಸಿಂಕ್ ಕಾರ್ಯಗಳನ್ನು ಬಳಸುವ ಒಂದು ನಿರ್ಣಾಯಕ ಅಂಶವೆಂದರೆ JavaScript ಅನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಈವೆಂಟ್ ಲೂಪ್ ಮತ್ತು ಅಸಮಕಾಲಿಕ ಕರೆ ಸ್ಟಾಕ್. ಈವೆಂಟ್ ಲೂಪ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ಏಕ-ಥ್ರೆಡ್ ಪರಿಸರದಲ್ಲಿಯೂ ಸಹ ಏಕಕಾಲದಲ್ಲಿ ಬಹು ಕಾರ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಭರವಸೆಗಳಂತಹ ನಿರ್ಬಂಧಿಸದ ಕಾರ್ಯಗಳನ್ನು ಸರತಿಗೆ ತಳ್ಳುವ ಮೂಲಕ ಮತ್ತು ಇತರ ಕೋಡ್‌ನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ.

ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಕಡೆಗಣಿಸಲ್ಪಡುವ ಅಂಶವೆಂದರೆ ದೋಷ ನಿರ್ವಹಣೆ. ಅಸಿಂಕ್/ವೇಯ್ಟ್ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ಡೆವಲಪರ್‌ಗಳು ತಮ್ಮ ಕೋಡ್ ಅನ್ನು a ನಲ್ಲಿ ಸುತ್ತಿಕೊಳ್ಳಬಹುದು ಪ್ರಯತ್ನಿಸಿ... ಹಿಡಿಯಿರಿ ಭರವಸೆ ನಿರಾಕರಣೆಗಳು ಮತ್ತು ಇತರ ದೋಷಗಳನ್ನು ಆಕರ್ಷಕವಾಗಿ ನಿರ್ವಹಿಸಲು ನಿರ್ಬಂಧಿಸಿ. ಈ ವಿಧಾನವು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಯಲ್ಲಿ ಸಂಭವಿಸುವ ಯಾವುದೇ ದೋಷಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಂನ ಹರಿವನ್ನು ಮುರಿಯದೆಯೇ ನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸುವುದು ಮಾತ್ರವಲ್ಲದೆ ಸಂಕೀರ್ಣ ದೋಷ ನಿರ್ವಹಣೆಯನ್ನು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಮತ್ತು ಡೀಬಗ್ ಮಾಡಲು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.

ಹೇಗೆ ಎಂಬುದು ಗಮನದ ಮತ್ತೊಂದು ಪ್ರಮುಖ ಕ್ಷೇತ್ರವಾಗಿದೆ ಪ್ರಾಮಿಸ್.ಎಲ್ಲಾ ಏಕಕಾಲದಲ್ಲಿ ಬಹು ಭರವಸೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಬಳಸಬಹುದು. ಮೊದಲ ಉದಾಹರಣೆಯಲ್ಲಿರುವಂತೆ ಅನುಕ್ರಮವಾಗಿ ಭರವಸೆಗಳನ್ನು ನಿರೀಕ್ಷಿಸುವುದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿ, ಪ್ರಾಮಿಸ್.ಎಲ್ಲಾ ಎಲ್ಲಾ ಭರವಸೆಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, ಸರಣಿಯಲ್ಲಿ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುತ್ತದೆ. ಬಹು API ಕರೆಗಳನ್ನು ಮಾಡುವಾಗ ಅಥವಾ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕ್ರಮವು ನಿರ್ಣಾಯಕವಲ್ಲದ ಹಲವಾರು ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ಈ ವಿಧಾನವು ಅತ್ಯಂತ ಸಹಾಯಕವಾಗಿದೆ. ಸೂಕ್ತ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕೋಡ್ ಅನ್ನು ಬರೆಯಲು ಏಕಕಾಲೀನ ಕಾರ್ಯಗಳನ್ನು ಸರಿಯಾಗಿ ಹೇಗೆ ರಚಿಸುವುದು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮುಖ್ಯವಾಗಿದೆ.

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಅಸಿಂಕ್/ನಿರೀಕ್ಷೆಯಲ್ಲಿ ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು

  1. ಇದರ ಉದ್ದೇಶವೇನು async JavaScript ನಲ್ಲಿ?
  2. ದಿ async ಕೀವರ್ಡ್ ಒಂದು ಕಾರ್ಯವನ್ನು ಭರವಸೆಯನ್ನು ಹಿಂದಿರುಗಿಸಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಬಳಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ await ಕಾರ್ಯದ ಒಳಗೆ.
  3. ಏನು ಮಾಡುತ್ತದೆ await ಕೀವರ್ಡ್ ಮಾಡು?
  4. ದಿ await ಕೀವರ್ಡ್ ಭರವಸೆಯನ್ನು ಪರಿಹರಿಸುವವರೆಗೆ ಕಾರ್ಯದ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ವಿರಾಮಗೊಳಿಸುತ್ತದೆ, ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳನ್ನು ಹೆಚ್ಚು ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ನಿರ್ವಹಿಸಬಹುದೆಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
  5. ಅಸಮಕಾಲಿಕ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು JavaScript ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ?
  6. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ event loop ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು, ಏಕ-ಥ್ರೆಡ್ ಪರಿಸರದಲ್ಲಿಯೂ ಸಹ ನಿರ್ಬಂಧಿಸದ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
  7. ಅನುಕ್ರಮ ಮತ್ತು ಏಕಕಾಲಿಕ ಅಸಿಂಕ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸವೇನು?
  8. ಅನುಕ್ರಮ ಮರಣದಂಡನೆಯಲ್ಲಿ, ಪ್ರತಿ await ಕಾರ್ಯವನ್ನು ವಿರಾಮಗೊಳಿಸುತ್ತದೆ, ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ, ಎಲ್ಲಾ ಭರವಸೆಗಳು ಏಕಕಾಲದಲ್ಲಿ ರನ್ ಆಗುತ್ತವೆ, ಕಾಯುವ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
  9. ಅಸಿಂಕ್/ನಿರೀಕ್ಷಣೆಯಲ್ಲಿ ದೋಷ ನಿರ್ವಹಣೆ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?
  10. ಜೊತೆಗೆ try...catch, ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳಲ್ಲಿನ ದೋಷಗಳನ್ನು ಹಿಡಿಯಲಾಗುತ್ತದೆ ಮತ್ತು ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ, ಪ್ರೋಗ್ರಾಂ ಕ್ರ್ಯಾಶ್ ಆಗುವುದನ್ನು ತಡೆಯುತ್ತದೆ.

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಸುತ್ತಿಕೊಳ್ಳುವುದು

ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿನ ಅಸಿಂಕ್/ವೇಯ್ಟ್ ಕಾರ್ಯವು ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಪ್ರಬಲ ಮಾರ್ಗವಾಗಿದೆ, ಇದು ಕೋಡ್ ಅನ್ನು ಹೆಚ್ಚು ಓದಬಲ್ಲ ಮತ್ತು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಮಾಡುತ್ತದೆ. ಒದಗಿಸಿದ ಉದಾಹರಣೆಗಳಲ್ಲಿ, ಬಳಕೆ ನಿರೀಕ್ಷಿಸಿ ಸರಿಯಾದ ಅನುಕ್ರಮ ನಿರ್ವಹಣೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ, ಮೊದಲ ಉದಾಹರಣೆಯು ಭರವಸೆಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಚಾಲನೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಎರಡನೆಯದು ಅವುಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ.

ಭರವಸೆಗಳು ಹೇಗೆ ಪರಿಹರಿಸುತ್ತವೆ ಎಂಬುದರ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ಗುರುತಿಸುವ ಮೂಲಕ, ಡೆವಲಪರ್‌ಗಳು ಅನಗತ್ಯ ವಿಳಂಬಗಳನ್ನು ತಪ್ಪಿಸಬಹುದು ಮತ್ತು ಅವರ ಅಪ್ಲಿಕೇಶನ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೆಚ್ಚಿಸಬಹುದು. API ಗಳು ಅಥವಾ ಸಂಕೀರ್ಣ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸುತ್ತಿರಲಿ, ಈ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹತೋಟಿಯಲ್ಲಿಟ್ಟುಕೊಳ್ಳುವುದರಿಂದ ಕ್ರಿಯಾತ್ಮಕತೆ ಮತ್ತು ಕೋಡ್ ಸ್ಪಷ್ಟತೆ ಎರಡರಲ್ಲೂ ಗಮನಾರ್ಹ ಸುಧಾರಣೆಗಳನ್ನು ಒದಗಿಸಬಹುದು.

ಉಲ್ಲೇಖಗಳು ಮತ್ತು ಬಾಹ್ಯ ಮೂಲಗಳು
  1. ಈ ಲೇಖನವು ಅಧಿಕಾರಿಯಿಂದ ಮಾಹಿತಿಯನ್ನು ಬಳಸಿದೆ MDN ವೆಬ್ ಡಾಕ್ಸ್ ಅಸಿಂಕ್/ನಿರೀಕ್ಷಣೆಯಲ್ಲಿದೆ , ಇದು JavaScript ನಲ್ಲಿ ಅಸಮಕಾಲಿಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಕುರಿತು ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿಯನ್ನು ನೀಡುತ್ತದೆ.
  2. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಸಂದರ್ಶನದ ಮೌಲ್ಯಮಾಪನಗಳ ಕುರಿತು ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗಾಗಿ, ಅಡಾಫೇಸ್ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಆನ್‌ಲೈನ್ ಪರೀಕ್ಷೆ ಸಂದರ್ಶನಗಳಲ್ಲಿ ಬಳಸುವ ತಾಂತ್ರಿಕ ಪರೀಕ್ಷೆಗಳ ನೈಜ-ಪ್ರಪಂಚದ ಉದಾಹರಣೆಗಳನ್ನು ಒದಗಿಸುವ ಮೂಲಕ ಸಮಾಲೋಚನೆ ನಡೆಸಲಾಯಿತು.