ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಉಲ್ಲೇಖ ದೋಷ ಮತ್ತು ಅದರ ಪರಿಹಾರಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ, ಎ ನೋಡಿ ಕಿರಿಕಿರಿಯುಂಟುಮಾಡಬಹುದು, ವಿಶೇಷವಾಗಿ ಅದು ನಿಮ್ಮ ಕೋಡ್ನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಲ್ಲಿಸಿದಾಗ. ಒಂದು ಪ್ರಚಲಿತ ಸನ್ನಿವೇಶವೆಂದರೆ ಬಳಕೆಯ ಮೊದಲು ವೇರಿಯೇಬಲ್ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿಲ್ಲ, ಇದು ಅಂತಹ ದೋಷಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
ಬಾಹ್ಯ API ಯಿಂದ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯುವ ಕಾರ್ಯವನ್ನು ಕರೆಯುವುದರ ಸುತ್ತ ಸಮಸ್ಯೆಯಿದೆ. ಈ ನಿರ್ದಿಷ್ಟ ಸಮಸ್ಯೆಯು ಫಂಕ್ಷನ್ ಕರೆಯಲ್ಲಿ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಸರಿಯಾಗಿ ಘೋಷಿಸದ ಕಾರಣದಿಂದ ಹುಟ್ಟಿಕೊಂಡಿದೆ. ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸದಿದ್ದರೆ, ಇದು ನಿಮ್ಮ ಕೋಡ್ ಮುರಿಯಲು ಕಾರಣವಾಗಬಹುದು.
ನೀವು JavaScript API ಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿರಲಿ ಅಥವಾ ಡೈನಾಮಿಕ್ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಿರಲಿ, ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಹಾದುಹೋಗುವ ಮೊದಲು ಅವುಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದು ಅವಶ್ಯಕ. ಇಲ್ಲದಿದ್ದರೆ, ನೀವು "ಉಲ್ಲೇಖ ದೋಷ: ವೇರಿಯಬಲ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿಲ್ಲ" ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸಬಹುದು.
ಸರಿಪಡಿಸಲು ನಿಮ್ಮ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕಾರ್ಯವನ್ನು ಹೇಗೆ ಬದಲಾಯಿಸುವುದು ಎಂಬುದನ್ನು ಈ ಪೋಸ್ಟ್ ವಿವರಿಸುತ್ತದೆ . ಭವಿಷ್ಯದ ಅಳವಡಿಕೆಗಳಲ್ಲಿ ಈ ಸಮಸ್ಯೆಯನ್ನು ತಪ್ಪಿಸಲು ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಹೇಗೆ ಸರಿಯಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸುವುದು ಮತ್ತು ರವಾನಿಸುವುದು ಎಂಬುದರ ಕುರಿತು ನಾವು ಹೋಗುತ್ತೇವೆ.
ಆಜ್ಞೆ | ಬಳಕೆಯ ಉದಾಹರಣೆ |
---|---|
fetch() | ದಿ ಆಜ್ಞೆಯು ನೀಡಿದ URL ಗೆ ನೆಟ್ವರ್ಕ್ ವಿನಂತಿಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು API ನಿಂದ ವಿನಿಮಯ ದರಗಳನ್ನು ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಭರವಸೆಯನ್ನು ನೀಡುತ್ತದೆ, ಬಾಹ್ಯ ಸೇವೆಗಳಿಂದ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯುವಂತಹ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. |
then() | ದಿ ವಿಧಾನವು ಪೂರೈಸಿದ ಭರವಸೆಯ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ. ನಂತರ API ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, API ಮೂಲಕ ಒದಗಿಸಲಾದ JSON ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ. |
catch() | ದಿ ದೋಷಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಭರವಸೆ ಸರಪಳಿಗೆ ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಇದು ನೆಟ್ವರ್ಕ್ ಸ್ಥಗಿತಗಳು ಅಥವಾ ತಪ್ಪಾದ ಪ್ರತ್ಯುತ್ತರಗಳಂತಹ, ಪಡೆಯುವ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದಲ್ಲಿ ಸಂಭವಿಸುವ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಲಾಗ್ ಮಾಡುತ್ತದೆ. |
axios.get() | Node.js ಉದಾಹರಣೆ ಬಳಸುತ್ತದೆ API ಅಂತಿಮ ಬಿಂದುವಿಗೆ HTTP GET ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಲು. ಈ ಕಾರ್ಯವು HTTP ಪ್ರಶ್ನೆಗಳನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಸರ್ವರ್ನ ಡೇಟಾದೊಂದಿಗೆ ಪರಿಹರಿಸುವ ಭರವಸೆಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. |
mockResolvedValue() | ಜೆಸ್ಟ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ, ನ ನಡವಳಿಕೆಯನ್ನು ಅಪಹಾಸ್ಯ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ ನಿಯಂತ್ರಿತ ಉತ್ತರವನ್ನು ಹಿಂತಿರುಗಿಸಲು. ಯುನಿಟ್ ಪರೀಕ್ಷೆಗಳು API ಯಶಸ್ಸಿನ ಸಂದರ್ಭಗಳನ್ನು ಅನುಕರಿಸುತ್ತದೆ ಎಂದು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ. |
mockRejectedValue() | ಗೆ ಹೋಲುತ್ತದೆ , ದಿ ಜೆಸ್ಟ್ನಲ್ಲಿನ ವಿಧಾನವು ನೆಟ್ವರ್ಕ್ ಸಮಸ್ಯೆಯಂತಹ ದೋಷ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತದೆ, ನಮ್ಮ ಕಾರ್ಯವು ವೈಫಲ್ಯಗಳನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಪರೀಕ್ಷಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. |
expect() | ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶಗಳನ್ನು ಪ್ರತಿಪಾದಿಸುವ ಜೆಸ್ಟ್ ಕಾರ್ಯವಾಗಿದೆ. ನಿದರ್ಶನಗಳಲ್ಲಿ, ಸರಿಯಾದ ದರವನ್ನು ಹಿಂತಿರುಗಿಸಲಾಗಿದೆ ಅಥವಾ API ವಿನಂತಿಯು ವಿಫಲವಾದಲ್ಲಿ ವಿನಾಯಿತಿಯನ್ನು ಎಸೆಯಲಾಗುತ್ತದೆ ಎಂದು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ. |
rejects.toThrow() | ಜೆಸ್ಟ್ ಬಳಸುತ್ತದೆ ಭರವಸೆಯು ದೋಷವನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವ ವಿಧಾನ. ನಕಲಿ ನೆಟ್ವರ್ಕ್ ಸಮಸ್ಯೆಗಳಂತಹ ತಿರಸ್ಕರಿಸಿದ API ಕರೆಯನ್ನು ಕಾರ್ಯವು ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವಾಗ ಇದು ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ. |
document.body.innerHTML | DOM ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ ಆಜ್ಞೆ ಪುಟದಲ್ಲಿನ ದೇಹದ ಅಂಶದ ವಿಷಯವನ್ನು ಮಾರ್ಪಡಿಸುತ್ತದೆ. ಉದಾಹರಣೆಯಲ್ಲಿ, ಪಡೆದ ಕರೆನ್ಸಿ ದರವನ್ನು ವೆಬ್ಪುಟದಲ್ಲಿ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ. |
JavaScript API ಕರೆಗಳಲ್ಲಿ ಉಲ್ಲೇಖ ದೋಷವನ್ನು ಪರಿಹರಿಸಲಾಗುತ್ತಿದೆ
ನೀಡಲಾದ ಉದಾಹರಣೆಗಳಲ್ಲಿ, ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು API ನಿಂದ ವಿನಿಮಯ ದರಗಳನ್ನು ಹಿಂಪಡೆಯಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ, ನಿರ್ದಿಷ್ಟವಾಗಿ BitPay ಸೇವೆ. ಮುಖ್ಯ ವಿಷಯವೆಂದರೆ ಎ ಬಳಸುವಾಗ ವ್ಯಾಖ್ಯಾನಿಸದ ಅಸ್ಥಿರಗಳಿಂದ ರಚಿಸಲಾಗಿದೆ ಕಾರ್ಯ. ಇದನ್ನು ಪರಿಹರಿಸಲು, ಫಂಕ್ಷನ್ಗೆ ಸರಬರಾಜು ಮಾಡಲಾದ 'eth' ಮತ್ತು 'usd' ನಂತಹ ನಿಯತಾಂಕಗಳನ್ನು ಸರಿಯಾಗಿ ಸ್ಟ್ರಿಂಗ್ಗಳಾಗಿ ಘೋಷಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಮೊದಲ ಹಂತವಾಗಿದೆ. ವ್ಯಾಖ್ಯಾನಿಸದ ವೇರಿಯೇಬಲ್ಗಳನ್ನು JavaScript ನಿಂದ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಅವುಗಳನ್ನು ಉಲ್ಲೇಖಗಳಲ್ಲಿ ಸುತ್ತುವರೆದಿರುವುದು ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುತ್ತದೆ ಮತ್ತು ಸರಿಯಾದ URL ನಿರ್ಮಾಣದೊಂದಿಗೆ ಮುಂದುವರಿಯಲು ಪಡೆಯುವ ವಿನಂತಿಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
ಪಡೆಯುವ API ಈ ವಿಧಾನದ ಒಂದು ನಿರ್ಣಾಯಕ ಅಂಶವಾಗಿದೆ, ಬಾಹ್ಯ ಸರ್ವರ್ನಿಂದ ಸ್ಕ್ರಿಪ್ಟ್ ಅಸಮಕಾಲಿಕವಾಗಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಅನುಮತಿಸುತ್ತದೆ. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, get() ಎರಡು ನಿಯತಾಂಕಗಳಿಂದ (var1 ಮತ್ತು var2) ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ URL ಗೆ HTTP ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ. URL ರಚನೆಯು ನಿರ್ಣಾಯಕವಾಗಿದೆ ಮತ್ತು ಅದರ ಡೈನಾಮಿಕ್ ಪೀಳಿಗೆಯು ಬಳಕೆದಾರರ ಇನ್ಪುಟ್ನ ಆಧಾರದ ಮೇಲೆ ಸೂಕ್ತವಾದ ಅಂತಿಮ ಬಿಂದುವನ್ನು ಕರೆಯುತ್ತದೆ ಎಂದು ಖಾತರಿಪಡಿಸುತ್ತದೆ. ಡೇಟಾವನ್ನು ಹಿಂಪಡೆದ ನಂತರ, ಅದನ್ನು ಬಳಸಿಕೊಂಡು ಪಾರ್ಸ್ ಮಾಡಲಾಗುತ್ತದೆ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು JSON ಸ್ವರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸಲು. ಪರಿಣಾಮವಾಗಿ ವಿನಿಮಯ ದರವನ್ನು ನಂತರ HTML ದೇಹದಲ್ಲಿ DOM ಮಾರ್ಪಾಡು ಮೂಲಕ ತೋರಿಸಲಾಗುತ್ತದೆ, ಇದು ನೈಜ ಸಮಯದಲ್ಲಿ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ನವೀಕರಿಸುತ್ತದೆ.
Node.js ಆವೃತ್ತಿಯಲ್ಲಿ, ನಾವು ಬಳಸುತ್ತೇವೆ ಪಡೆಯುವ ಬದಲು, ಬ್ಯಾಕೆಂಡ್ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ HTTP ವಿನಂತಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಹೆಚ್ಚು ದೃಢವಾದ ಪ್ಯಾಕೇಜ್. Axios ದೋಷ ನಿರ್ವಹಣೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ ಪಾರ್ಸಿಂಗ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ, axios API ಅಂತಿಮ ಬಿಂದುವಿಗೆ GET ವಿನಂತಿಯನ್ನು ಮಾಡುತ್ತದೆ, ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ಕನ್ಸೋಲ್ನಲ್ಲಿ ವಿನಿಮಯ ದರವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಇದಲ್ಲದೆ, ಸ್ಕ್ರಿಪ್ಟ್ API ಕರೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಮೊದಲು ಕಾರ್ಯದಲ್ಲಿ ಎರಡೂ ನಿಯತಾಂಕಗಳನ್ನು ಒದಗಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ದೋಷದ ಮತ್ತೊಂದು ಸಂಭಾವ್ಯ ಮೂಲವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
ಈ ಕಾರ್ಯಚಟುವಟಿಕೆಗಳ ಸ್ಥಿರತೆಯನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು, ಘಟಕ ಪರೀಕ್ಷೆಗಳನ್ನು ಬಳಸಿ ಬರೆಯಲಾಗಿದೆ ಚೌಕಟ್ಟು. ಈ ಪರೀಕ್ಷೆಗಳು ಯಶಸ್ವಿ ಮತ್ತು ವಿಫಲವಾದ API ಕರೆಗಳನ್ನು ಪುನರಾವರ್ತಿಸಲು axios ಲೈಬ್ರರಿಯನ್ನು ವಂಚಿಸುತ್ತದೆ. API ಮಾನ್ಯವಾದ ದರವನ್ನು ನೀಡಿದಾಗ ಅಥವಾ ನೆಟ್ವರ್ಕ್ ಸ್ಥಗಿತದಂತಹ ದೋಷ ಸಂಭವಿಸಿದಾಗ, ಕಾರ್ಯವು ಎಲ್ಲಾ ಸಂಭವನೀಯ ಸನ್ನಿವೇಶಗಳನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಇದು ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಈ ಪರೀಕ್ಷೆಗಳನ್ನು ಸೇರಿಸುವ ಮೂಲಕ, ಉತ್ಪಾದನಾ ಪರಿಸರದಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ನಾವು ವಿಶ್ವಾಸದಿಂದ ಬಿಡುಗಡೆ ಮಾಡಬಹುದು, ಅದು ನಿರೀಕ್ಷಿಸಿದಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ತಿಳಿಯುತ್ತದೆ. ಮುಂಭಾಗದ ಮತ್ತು ಹಿಂಭಾಗದ ಪರಿಹಾರಗಳ ಬಳಕೆಯು ಸಮಸ್ಯೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಪರಿಹರಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ದೋಷ ಸ್ಥಿತಿಸ್ಥಾಪಕತ್ವ ಎರಡನ್ನೂ ಹೆಚ್ಚಿಸುವುದರ ಮೇಲೆ ಒತ್ತು ನೀಡುತ್ತದೆ.
ರೆಫರೆನ್ಸ್ ದೋಷವನ್ನು ಪರಿಹರಿಸಲಾಗುತ್ತಿದೆ: ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ API ಪಡೆಯುವಿಕೆಯಲ್ಲಿ ಅಸ್ಥಿರಗಳನ್ನು ವಿವರಿಸಲಾಗಿಲ್ಲ
ಈ ವಿಧಾನವು ಮೂಲಭೂತ ಮುಂಭಾಗದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ವಿಧಾನದ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತದೆ ಅದು ಬಾಹ್ಯ ಸೇವೆಯಿಂದ ದರಗಳನ್ನು ಹಿಂಪಡೆಯಲು API ಅನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ. ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಸರಿಯಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ಮತ್ತು ದೋಷಗಳನ್ನು ಸೂಕ್ತವಾಗಿ ನಿರ್ವಹಿಸುವುದನ್ನು ನಾವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತೇವೆ.
// Define the function with two parameters
function getRates(var1, var2) {
// Define the URL with the parameters
let url = 'https://bitpay.com/rates/' + var1 + '/' + var2;
// Fetch data from the URL
fetch(url)
.then(res => {
if (!res.ok) throw new Error('Network response was not ok');
return res.json();
})
.then(out => {
// Update the body with the rate
document.body.innerHTML = 'Rate: ' + out.data.rate;
})
.catch(error => console.error('There was an error:', error));
}
// Correctly call the function with string parameters
getRates('eth', 'usd');
Node.js ನಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸದ ವೇರಿಯೇಬಲ್ಗಳು ಮತ್ತು ದೋಷ ನಿರ್ವಹಣೆಯನ್ನು ನಿರ್ವಹಿಸುವುದು
ಈ ಬ್ಯಾಕೆಂಡ್ ತಂತ್ರವು ಇನ್ಪುಟ್ ಊರ್ಜಿತಗೊಳಿಸುವಿಕೆ ಮತ್ತು ದೋಷ ನಿರ್ವಹಣೆಯ ಜೊತೆಗೆ API ವಿನಂತಿಗಾಗಿ Node.js ಮತ್ತು axios ಅನ್ನು ಬಳಸುತ್ತದೆ.
const axios = require('axios');
// Function to get exchange rates
function getRates(var1, var2) {
// Validate input parameters
if (!var1 || !var2) {
throw new Error('Both currency parameters must be defined');
}
// Define the URL
const url = 'https://bitpay.com/rates/' + var1 + '/' + var2;
// Make the request using axios
axios.get(url)
.then(response => {
console.log('Rate:', response.data.data.rate);
})
.catch(error => {
console.error('Error fetching rate:', error.message);
});
}
// Correctly call the function
getRates('eth', 'usd');
Jest ಅನ್ನು ಬಳಸಿಕೊಂಡು JavaScript ನಲ್ಲಿ getRates ಕಾರ್ಯವನ್ನು ಪರೀಕ್ಷಿಸುವ ಘಟಕ
ಈ ಪರೀಕ್ಷಾ ಸ್ಕ್ರಿಪ್ಟ್ ಯಶಸ್ವಿ API ವಿನಂತಿಗಳು ಮತ್ತು ದೋಷ ಪರಿಸ್ಥಿತಿಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಕಾರ್ಯವು ವಿವಿಧ ಸನ್ನಿವೇಶಗಳನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು Jest ಅನ್ನು ಬಳಸುತ್ತದೆ.
const axios = require('axios');
const { getRates } = require('./getRates');
jest.mock('axios');
// Test successful API call
test('should return correct rate', async () => {
axios.get.mockResolvedValue({ data: { data: { rate: 2500 } } });
const rate = await getRates('eth', 'usd');
expect(rate).toBe(2500);
});
// Test API call failure
test('should handle error', async () => {
axios.get.mockRejectedValue(new Error('Network Error'));
await expect(getRates('eth', 'usd')).rejects.toThrow('Network Error');
});
JavaScript API ಕರೆಗಳಲ್ಲಿ ವೇರಿಯಬಲ್ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು
ವ್ಯವಹರಿಸಲು ಸರಿಯಾದ ವೇರಿಯಬಲ್ ಸ್ಕೋಪ್ ಮತ್ತು ಪ್ರಾರಂಭಿಕತೆಯು ನಿರ್ಣಾಯಕವಾಗಿದೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ, ವಿಶೇಷವಾಗಿ API ಕರೆಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸುವಾಗ. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಸರಿಯಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲು ಮತ್ತು ಘೋಷಿಸಲು, ಬಳಸಿ ಅಥವಾ . ಬಳಕೆಯ ಮೊದಲು ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಘೋಷಿಸಲು ವಿಫಲವಾದರೆ ಅಥವಾ ಅವುಗಳ ವ್ಯಾಪ್ತಿಯಿಂದ ಹೊರಗೆ ಕರೆದರೆ, ಆಗಾಗ್ಗೆ "ಉಲ್ಲೇಖ ದೋಷ: ವೇರಿಯಬಲ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿಲ್ಲ" ನಂತಹ ದೋಷಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. API ಪ್ರಶ್ನೆಗಳನ್ನು ಮಾಡುವಾಗ, ವಾದಗಳು ಸರಿಯಾಗಿ ಜನಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿದೆಯೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು ಬಹಳ ಮುಖ್ಯ.
ಬಾಹ್ಯ API ಗಳೊಂದಿಗೆ ಇಂಟರ್ಫೇಸ್ ಮಾಡುವ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಾಗ, ನೀವು ಹೆಚ್ಚುವರಿಯಾಗಿ ಕ್ರಿಯೆಗಳ ಅಸಮಕಾಲಿಕ ಸ್ವರೂಪವನ್ನು ಪರಿಗಣಿಸಬೇಕು. ಎಪಿಐ ಭರವಸೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಸಮಕಾಲಿಕ ಚಟುವಟಿಕೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತಿರುವಾಗ, ದೋಷ ನಿರ್ವಹಣೆಯನ್ನು ಸೇರಿಸುವುದು ಅತ್ಯಗತ್ಯ ಬ್ಲಾಕ್ಗಳನ್ನು ಅಥವಾ ಬಳಸಿ ಸಂಭವನೀಯ ವೈಫಲ್ಯಗಳನ್ನು ಸೆರೆಹಿಡಿಯುವ ಭರವಸೆಯ ನಂತರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಸಂಪೂರ್ಣ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಅಡ್ಡಿಯಾಗದಂತೆ ಅನಿರೀಕ್ಷಿತ ಸಮಸ್ಯೆಗಳನ್ನು ತಡೆಯುತ್ತದೆ. ಉತ್ತಮ ದೋಷ ನಿರ್ವಹಣೆಯು ಆಕರ್ಷಕವಾದ ವೈಫಲ್ಯ ಮತ್ತು ಸಂಬಂಧಿತ ದೋಷ ಸಂದೇಶಗಳನ್ನು ಒದಗಿಸುವ ಮೂಲಕ ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಸುಧಾರಿಸುತ್ತದೆ.
ಇದಲ್ಲದೆ, ಬಾಹ್ಯ API ಪ್ರಶ್ನೆಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸುವಾಗ ಭದ್ರತೆಯನ್ನು ತಿಳಿಸಬೇಕು. ನೀವು ಎಲ್ಲಾ ಒಳಬರುವ ಡೇಟಾವನ್ನು ಮೌಲ್ಯೀಕರಿಸಬೇಕು, ವಿಶೇಷವಾಗಿ ನಮ್ಮ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ ಕರೆನ್ಸಿಗಳಂತಹ ಬದಲಾಯಿಸಬಹುದಾದ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸುವಾಗ. API ವಿನಂತಿಯನ್ನು ಮಾಡುವ ಮೊದಲು ಇನ್ಪುಟ್ಗಳನ್ನು ಶುದ್ಧೀಕರಿಸುವುದು API ದುರುಪಯೋಗ ಅಥವಾ ಇಂಜೆಕ್ಷನ್ ದಾಳಿಯಂತಹ ಸಂಭಾವ್ಯ ಭದ್ರತಾ ದೋಷಗಳನ್ನು ತಡೆಯಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಇನ್ಪುಟ್ ಮೌಲ್ಯೀಕರಣಕ್ಕಾಗಿ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವುದು ಮತ್ತು URL ಗಳಲ್ಲಿ ಬಳಕೆದಾರ-ರಚಿತ ಡೇಟಾದ ನೇರ ಬಳಕೆಯನ್ನು ತಪ್ಪಿಸುವುದು ಆಧುನಿಕ ವೆಬ್ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಪ್ರಮುಖ ತಂತ್ರವಾಗಿದೆ.
- JavaScript ನಲ್ಲಿ ReferenceError ಗೆ ಕಾರಣವೇನು?
- ವೇರಿಯೇಬಲ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಮೊದಲು ಅದನ್ನು ಬಳಸಿದಾಗ ಉಲ್ಲೇಖ ದೋಷ ಸಂಭವಿಸುತ್ತದೆ. ಇದನ್ನು ತಡೆಯಲು, ಯಾವಾಗಲೂ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಹೀಗೆ ಘೋಷಿಸಿ ಅಥವಾ ಅವರನ್ನು ಆಹ್ವಾನಿಸುವ ಮೊದಲು.
- "eth is not defined" ದೋಷವನ್ನು ನಾನು ಹೇಗೆ ಸರಿಪಡಿಸಬಹುದು?
- 'eth' ಅನ್ನು ಸ್ಟ್ರಿಂಗ್ನಂತೆ ಒದಗಿಸಲಾಗಿದೆಯೇ ಹೊರತು ವಿವರಿಸಲಾಗದ ವೇರಿಯಬಲ್ ಅಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಕಾರ್ಯವನ್ನು ಕರೆ ಮಾಡಿ .
- ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಪಡೆಯುವ() ಪಾತ್ರವೇನು?
- ದಿ ಕಾರ್ಯವು API ಅಂತಿಮ ಬಿಂದುವಿಗೆ HTTP ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಇದು ಬಾಹ್ಯ ಸೇವೆಯಿಂದ ಡೇಟಾವನ್ನು ಪರಿಹರಿಸುವ ಭರವಸೆಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ.
- API ಕರೆ ಸಮಯದಲ್ಲಿ ನಾನು ದೋಷಗಳನ್ನು ಹೇಗೆ ನಿಭಾಯಿಸಬಹುದು?
- ದೋಷಗಳನ್ನು ನಿಭಾಯಿಸಲು, ಬಳಸಿ ಭರವಸೆಯ ನಂತರ ಅಥವಾ ಕೋಡ್ ಅನ್ನು a ನಲ್ಲಿ ಕಟ್ಟಿಕೊಳ್ಳಿ ವಿನಾಯಿತಿಗಳನ್ನು ಹಿಡಿಯಲು ನಿರ್ಬಂಧಿಸಿ.
- ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಲೆಟ್ ಮತ್ತು ವರ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸವೇನು?
- ಬ್ಲಾಕ್-ಸ್ಕೋಪ್ಡ್ ಆಗಿದೆ, ಇದರರ್ಥ ಇದು ಕರ್ಲಿ ಬ್ರಾಕೆಟ್ಗಳ ಹತ್ತಿರದ ಸೆಟ್ನಲ್ಲಿ ಮಾತ್ರ ವಾಸಿಸುತ್ತದೆ, ಆದರೆ ಕಾರ್ಯ-ವ್ಯಾಪ್ತಿಯನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಸರಿಯಾಗಿ ಬಳಸದಿದ್ದಲ್ಲಿ ಅನಿರೀಕ್ಷಿತ ನಡವಳಿಕೆಯನ್ನು ಉಂಟುಮಾಡಬಹುದು.
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ "ಉಲ್ಲೇಖ ದೋಷ" ವನ್ನು ಸರಿಪಡಿಸುವುದು ಹೆಚ್ಚಾಗಿ ಬಳಸುವ ಮೊದಲು ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಸರಿಯಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತದೆ. 'eth' ನಂತಹ ನಿಯತಾಂಕಗಳನ್ನು ಸ್ಟ್ರಿಂಗ್ಗಳಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಿ ಮತ್ತು ತಕ್ಷಣದ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಇನ್ಪುಟ್ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ.
ಈ ತಂತ್ರವು ಸಾಕಷ್ಟು ದೋಷ ನಿರ್ವಹಣೆಯೊಂದಿಗೆ ಸಂಯೋಜಿಸಲ್ಪಟ್ಟಿದೆ ಮತ್ತು ಇನ್ಪುಟ್ ಊರ್ಜಿತಗೊಳಿಸುವಿಕೆ, ಬಾಹ್ಯ APIಗಳೊಂದಿಗೆ ವ್ಯವಹರಿಸಲು ಸ್ಥಿತಿಸ್ಥಾಪಕ ಕೋಡ್ಗೆ ಕಾರಣವಾಗಬಹುದು. ರನ್ಟೈಮ್ ತಪ್ಪುಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುವಾಗ ಇದು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ಪ್ರಕ್ರಿಯೆಗಳು ಮತ್ತು ಉತ್ತಮ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ.
- ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಕುರಿತು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ಮತ್ತು ವೇರಿಯಬಲ್ ಘೋಷಣೆಗಳು, ಮೊಜಿಲ್ಲಾ ಡೆವಲಪರ್ ನೆಟ್ವರ್ಕ್ (MDN) ಗೆ ಭೇಟಿ ನೀಡಿ: MDN - ಉಲ್ಲೇಖ ದೋಷ: ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿಲ್ಲ .
- ಸರಿಯಾದ ಬಳಕೆಯ ಬಗ್ಗೆ ತಿಳಿದುಕೊಳ್ಳಲು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿನ API ಕರೆಗಳಿಗಾಗಿ ಕಾರ್ಯ, MDN ನಲ್ಲಿ ಅಧಿಕೃತ Fetch API ದಸ್ತಾವೇಜನ್ನು ನೋಡಿ: MDN - API ಅನ್ನು ಪಡೆದುಕೊಳ್ಳಿ .
- ಬಳಸುವ ಬಗ್ಗೆ ಮಾರ್ಗದರ್ಶನಕ್ಕಾಗಿ HTTP ವಿನಂತಿಗಳನ್ನು ನಿರ್ವಹಿಸಲು Node.js ನಲ್ಲಿರುವ ಲೈಬ್ರರಿ, Axios GitHub ರೆಪೊಸಿಟರಿಯನ್ನು ಸಂಪರ್ಕಿಸಿ: Axios - GitHub .
- ಹೇಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕು ಎಂಬುದನ್ನು ಅನ್ವೇಷಿಸಲು Jest ಅನ್ನು ಬಳಸಿಕೊಂಡು JavaScript ಕಾರ್ಯಗಳಿಗಾಗಿ, ಅಧಿಕೃತ Jest ದಸ್ತಾವೇಜನ್ನು ಪರಿಶೀಲಿಸಿ: ಜೆಸ್ಟ್ - ಅಧಿಕೃತ ದಾಖಲೆ .