𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀
ஒரு 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: அனைத்துப் பணிகளையும் முடிக்கும்.
