যখন একটি প্রমিস সেটল হয়, অর্থাৎ ফুলফিল্ড হয় বা রিজেক্ট হয়, finally মেথডে স্পেসিফাইড কলব্যাক ফাংশন আহ্বান করা হয়। finally() মেথডও একটি প্রমিস রিটার্ন করে।
এটি কোড রান করার একটি উপায় প্রদান করে প্রমিস সফলভাবে ফুলফিল্ড হউক বা রিজেক্ট হউক স্বল্পে, একবার প্রমিস ডিল হয়ে গেলে। চলুন একটি উদাহরণ দেখি,
উদাহরণ
new Promise( (resolve) => setTimeout(resolve("success"), 1000) ).then(val => console.log(val)).finally(() => console.log("Promise complete!"))আউটপুট
success Promise complete!
এখন দেখি প্রমিস ফেল করলে কী হয় -
উদাহরণ
// undefined-এ get মেথড নেই। এটি এরর থ্রো করবে new Promise(() => undefined.get()) .then(val => console.log(val)) .catch(err => console.log("Failed!")) .finally(() => console.log("Promise complete!"))আউটপুট
Failed! Promise complete!
দ্রষ্টব্য, উভয় কেসেই (ফেল বা সাকসেস), প্রমিস finally স্টেটমেন্ট এক্সিকিউট করেছে।