𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀
ಒಂದು Promise ಅಸynchronized (asynchronous) ಕಾರ್ಯದ ಫಲಿತಾಂಶವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
ನೀವು API ಕರೆಗಳು, ಡೇಟಾಬೇಸ್ ಕ್ವೇರಿಗಳು ಮತ್ತು ಫೈಲ್ ಓದುವಿಕೆಗಾಗಿ Promises ಬಳಸುತ್ತೀರಿ.
ಒಂದು Promise ಮೂರು ಸ್ಥಿತಿಗಳನ್ನು (states) ಹೊಂದಿದೆ:
- Pending: ಕಾರ್ಯವು ಇನ್ನೂ ನಡೆಯುತ್ತಿದೆ.
- Fulfilled: ಕಾರ್ಯವು ಯಶಸ್ವಿಯಾಗಿ ಪೂರ್ಣಗೊಂಡಿದೆ.
- Rejected: ಕಾರ್ಯವು ದೋಷದೊಂದಿಗೆ (error) ವಿಫಲವಾಗಿದೆ.
ಇದರ ರಚನೆಯು ಈ ರೀತಿ ಇರುತ್ತದೆ:
const promise = new Promise((resolve, reject) => {
// The executor runs immediately
});
ನೀವು ಈ ಕೆಳಗಿನ ವಿಧಾನಗಳ (methods) ಮೂಲಕ ಫಲಿತಾಂಶಗಳನ್ನು ನಿರ್ವಹಿಸಬಹುದು:
- .then(): Promise ಯಶಸ್ವಿಯಾದಾಗ ಚಲಿಸುತ್ತದೆ.
- .catch(): Promise ವಿಫಲವಾದಾಗ ಚಲಿಸುತ್ತದೆ.
- .finally(): ಫಲಿತಾಂಶ ಏನೇ ಇರಲಿ, ಕಾರ್ಯವು ಕೊನೆಗೊಂಡಾಗ ಚಲಿಸುತ್ತದೆ.
ನೆನಪಿಡಬೇಕಾದ ಪ್ರಮುಖ ನಿಯಮಗಳು:
- ಮೊದಲ ಫಲಿತಾಂಶವೇ ಗೆಲ್ಲುತ್ತದೆ. ನೀವು ಮೊದಲು resolve() ಮತ್ತು ನಂತರ reject() ಅನ್ನು ಕರೆದರೆ, resolve ಗೆಲ್ಲುತ್ತದೆ.
- Executor function ಸಿಂಕ್ರೋನಸ್ (synchronously) ಆಗಿ ಚಲಿಸುತ್ತದೆ.
- async ಮತ್ತು await ಬಳಸುವುದರಿಂದ ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು .then() ಬಳಸುವುದಕ್ಕಿಂತ ಸುಲಭವಾಗಿ ಓದಬಹುದು.
ಬಹುসংখ্যক Promises ನಿರ್ವಹಿಸುವುದು:
- Promise.all(): ಇದು 'fail-fast' ವಿಧಾನವನ್ನು ಅನುಸರಿಸುತ್ತದೆ. ಒಂದು promise ವಿಫಲವಾದರೆ, ಇಡೀ ಗುಂಪು ವಿಫಲವಾಗುತ್ತದೆ.
- Promise.allSettled(): ಇದು ಪ್ರತಿಯೊಂದು promise ಪೂರ್ಣಗೊಳ್ಳುವವರೆಗೆ ಕಾಯುತ್ತದೆ. ಕೆಲವು ಕಾರ್ಯಗಳು ವಿಫಲವಾದರೂ ಸಹ ಇದು ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡುತ್ತದೆ.
ಸಾರಾಂಶ:
- Promise: ಅಸynchronized ಫಲಿತಾಂಶ ನಿರ್ವಾಹಕ (asynchronous result handler).
- resolve: ಯಶಸ್ಸನ್ನು ಸೂಚಿಸುತ್ತದೆ.
- reject: ವೈಫಲ್ಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ.
- async/await: Promises ಬರೆಯಲು ಒಂದು ಸುಲಭವಾದ ವಿಧಾನ.
- Promise.all: ಮೊದಲ ದೋಷ ಕಂಡುಬಂದ ತಕ್ಷಣ ನಿಲ್ಲುತ್ತದೆ.
- Promise.allSettled: ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ.
