𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀

ಒಂದು 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: ಎಲ್ಲಾ ಕಾರ್ಯಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ.

Source: https://dev.to/malik786/javascript-promises-2hn4