জাভাস্ক্রিপ্টে প্রমিস চেইন
ধরুন আমাদের কাছে নিম্নলিখিত প্রমিস আছে:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('string');
}, 3000);
});
প্রমিস সম্পূর্ণ হলে এর ফলাফল কনসোলে আউটপুট করব:
promise.then(
function(result) {
console.log(result); // আউটপুট করবে 'string'
}
)
এখন চলুন ফলাফলটি অবিলম্বে আউটপুট না করে,
এটিকে কিছুটা পরিবর্তন করি এবং return এর মাধ্যমে ফেরত দিই:
promise.then(
function(result) {
return result + '!';
}
);
এই ক্ষেত্রে, আমরা আমাদের then এর ফলাফলের উপর আরেকটি then প্রয়োগ করতে পারি,
যার মাধ্যমে চেইন পদ্ধতি তৈরি করা যায়। এতে করে
পরবর্তী পদ্ধতির ফলাফলে প্রবেশ করবে
সেইটি যা পূর্ববর্তীটি return এর মাধ্যমে ফেরত দিয়েছে:
promise.then(
function(result) {
return result + '!';
}
).then(
function(result) {
console.log(result); // আউটপুট করবে 'string!'
}
);
এইভাবে যেকোনো দৈর্ঘ্যের একটি চেইন তৈরি করা সম্ভব:
promise.then(
function(result) {
return result + '1';
}
).then(
function(result) {
return result + '2';
}
).then(
function(result) {
return result + '3';
}
).then(
function(result) {
console.log(result); // আউটপুট করবে 'string123'
}
);