जावास्क्रिप्ट के प्रॉमिस में कुछ बातें ध्यान रखने की हैं। प्रॉमिस करने का काम तुरंत पूरा होता है और होना भी चाहिये। हम वादा करने का काम तो तुरंत ही पूरा करते हैं, वादा पूरा करें या ना करें।

let promise = new Promise((resolve, reject) => {
	console.log('वादा करते समय ही');
	resolve('वादा निभाया');
});
console.log('वादा करने के बाद');
promise.then(success => {
	console.log('वादा पूरा करने पर');
});
console.log('"वादा करने के बाद" के बाद पर वादा पूरा होने से पहले');
वादा करते समय ही
वादा करने के बाद
"वादा करने के बाद" के बाद पर वादा पूरा होने से पहले
वादा पूरा करने पर

ये मुझे तब समझ आया जब मैंने जॉन रेसिग की किताब में इसके बारे में पढ़ा। तब तक मुझे नहीं पता था:-

  • क्या प्रॉमिस बनाने वाला को़ड तभी चलेगा या बाद में।
  • क्या प्रॉमिस कंस्ट्रक्टर तुरंत लौट आयेगा या वो भी बाद में।
  • यदि मैं वादा करते समय कोई नया वादा लौटा देता हूं तो क्या मैं उस पहले वादे के पूरे होने पर कुछ कर पाऊंगा या केवल नये वादे पर ही।

मुझे लगता है इस बात आवश्यक जोर एमडीएन में भी नहीं दिया गया है।