যেহেতু আমি বুঝতে পারি যে প্রতিশ্রুতি এমন কিছু যা সমাধান () বা প্রত্যাখ্যান () করতে পারে তবে আমি অবাক হয়েছিলাম যে প্রতিশ্রুতিতে কোডটি একটি সংশোধন বা প্রত্যাখ্যান হওয়ার পরে কার্যকর করা অব্যাহত থাকবে।
আমি প্রস্থান বা প্রত্যাবর্তনের অ্যাসিঙ্ক-বান্ধব সংস্করণ হিসাবে সংকল্পটিকে প্রত্যাখ্যান করেছি বা প্রত্যাখ্যান করেছি, যা তাত্ক্ষণিকভাবে সমস্ত কার্য সম্পাদন থামিয়ে দেবে।
নীচের উদাহরণটি কখনও কখনও সংশোধন করার পরে কনসোল.লগটি দেখায় কেন এর পিছনে চিন্তার কেউ ব্যাখ্যা করতে পারেন:
var call = function() {
return new Promise(function(resolve, reject) {
resolve();
console.log("Doing more stuff, should not be visible after a resolve!");
});
};
call().then(function() {
console.log("resolved");
});
resolve()
কোনও জেএস নিয়ন্ত্রণ বিবৃতি নয় যা জাদুকরভাবে এর প্রভাব ফেলবেreturn
, এটি কেবল একটি ফাংশন কল এবং হ্যাঁ, এর পরেও মৃত্যুদন্ড কার্যকর হয়।