JavaScript ရှိ Promise များကို ဆက်တိုက်အသုံးပြုခြင်း
ကျွန်ုပ်တို့တွင် အောက်ပါ Promise တစ်ခု ရှိသည်ဆိုပါစို့။
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('string');
}, 3000);
});
Promise ပြီးဆုံးသွားသောအခါ ၎င်း၏ရလဒ်ကို console တွင် ထုတ်ပြမည်။
promise.then(
function(result) {
console.log(result); // 'string' ကို ထုတ်ပြမည်
}
)
ယခု ရလဒ်ကို ချက်ချင်းမထုတ်ပြဘဲ တစ်နည်းနည်းဖြင့်
ပြုပြင်မွမ်းမံပြီး return ဖြင့် ပြန်ပို့ကြည့်ရအောင်။
promise.then(
function(result) {
return result + '!';
}
);
ဤသို့ဆိုလျှင် ကျွန်ုပ်တို့၏
then ၏ရလဒ်ကို အခြား 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' ကို ထုတ်ပြမည်
}
);