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

ஒரு Promise என்பது ஒரு asynchronous பணியின் (asynchronous task) முடிவைக் குறிக்கிறது.

API அழைப்புகள் (API calls), தரவுத்தள வினவல்கள் (database queries) மற்றும் கோப்புகளைப் படிப்பதற்கு (file reading) நீங்கள் Promises-களைப் பயன்படுத்துகிறீர்கள்.

ஒரு Promise மூன்று நிலைகளைக் (states) கொண்டுள்ளது:

  • Pending: பணி இன்னும் நடந்து கொண்டிருக்கிறது.
  • Fulfilled: பணி வெற்றிகரமாக முடிந்தது.
  • Rejected: பணி பிழையுடன் தோல்வியடைந்தது.

இதன் அமைப்பு இவ்வாறு இருக்கும்:

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() பயன்படுத்துவதை விட உங்கள் குறியீட்டை (code) எளிதாகப் படிக்க உதவும்.

பல Promises-களைக் கையாளுதல்:

  • Promise.all(): இது fail-fast அணுகுமுறையைப் பின்பற்றுகிறது. ஒரு Promise தோல்வியடைந்தால், முழு குழுவும் தோல்வியடையும்.
  • Promise.allSettled(): இது ஒவ்வொரு Promise-ம் முடியும் வரை காத்திருக்கும். சில பணிகள் தோல்வியடைந்தாலும் இது முடிவுகளைத் தரும்.

சுருக்கம்:

  • Promise: ஒரு asynchronous முடிவைக் கையாளும் கருவி.
  • resolve: வெற்றியைத் தெரிவிக்கிறது.
  • reject: தோல்வியைத் தெரிவிக்கிறது.
  • async/await: Promises-களை எழுத ஒரு தெளிவான வழி.
  • Promise.all: முதல் பிழையிலேயே நின்றுவிடும்.
  • Promise.allSettled: அனைத்துப் பணிகளையும் முடிக்கும்.

ஆதாரம்: https://dev.to/malik786/javascript-promises-2hn4