JavaScript တွင် Callback Functions
Function များကို အခြား function များထံသို့ parameter များအဖြစ် ပေးပို့နိုင်ပါသည်။ ထိုသို့သော function-parameter များကို ခေါ်ပြန်လုပ်ဆောင်ချက်များ (callback) ဟု ခေါ်ပါသည်။ ဥပမာတစ်ခုဖြင့် ၎င်းတို့နှင့် အလုပ်လုပ်ပုံကို ကြည့်ကြပါစို့။
Function တစ်ခုကို ပြုလုပ်လိုသည်ဆိုပါစို့။ ၎င်းသည် ပထမ parameter အဖြစ် array တစ်ခုကို လက်ခံမည်ဖြစ်ပြီး ဒုတိယ parameter အဖြစ် callback ကို လက်ခံမည်ဖြစ်သည်။ callback သည် array ၏ element တစ်ခုစီအတွက် သက်ရောက်မှုရှိစေရမည်။
function each(arr, callback) {
// ဒီနေရာမှာ ကုဒ်တစ်ချို့ရှိတယ်
}
ကျွန်ုပ်တို့၏ function ၏ အကောင်အထည်ဖော်မှုကို ရေးကြပါစို့။
function each(arr, callback) {
let result = [];
for (let elem of arr) {
result.push( callback(elem) ); // callback function ကို ခေါ်ယူပါ
}
return result;
}
ကျွန်ုပ်တို့၏ function each သည် အထွေထွေသုံး function တစ်ခုဖြစ်ပါသည်။
ဆိုလိုသည်မှာ ကျွန်ုပ်တို့သည် ၎င်းထဲသို့
မတူညီသော callback များကို ပို့ဆောင်နိုင်ပြီး array များအပေါ် မတူညီသောလုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်ပါသည်။
ဤသို့ပြုလုပ်သော်လည်း ကျွန်ုပ်တို့၏ function ၏ ကုဒ်သည် မပြောင်းလဲဘဲ ကျန်ရစ်မည် -
ပေးပို့သည့် callback များသာ ပြောင်းလဲသွားမည်ဖြစ်သည်။
ဥပမာအနေဖြင့် ကျွန်ုပ်တို့၏ function ကို အသုံးပြု၍ array တစ်ခုခု၏ element တစ်ခုစီကို နှစ်ထပ်ကိန်းတင်ကြည့်ပါစို့။ ဤသို့ပြုလုပ်ရန် သင့်လျော်သော callback ကို parameter အဖြစ် ပို့ဆောင်ပါ။
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 2;
});
console.log(result);
ယခု array ၏ element များကို သုံးထပ်ကိန်းတင်ကြည့်ပါမည်။ ဤလုပ်ဆောင်ချက်ကို လုပ်ဆောင်သော callback ကို parameter အဖြစ် ပို့ဆောင်ခြင်းဖြင့် ပြုလုပ်ပါ။
let result = each([1, 2, 3, 4, 5], function(num) {
return num ** 3;
});
console.log(result);
နံပါတ်များပါဝင်သော array တစ်ခုရှိပါသည်။
ကျွန်ုပ်တို့ဖန်တီးထားသော function each ကို အသုံးပြု၍
element တစ်ခုစီကို နှစ်ဆတိုးပါ။
စာကြောင်းများပါဝင်သော array တစ်ခုရှိပါသည်။
ကျွန်ုပ်တို့ဖန်တီးထားသော function each ကို အသုံးပြု၍
�ာကြောင်းတစ်ခုစီရှိ အက္ခရာများကို ပြောင်းပြန်အစဉ်အတိုင်း ပြောင်းလဲပါ။
စာကြောင်းများပါဝင်သော array တစ်ခုရှိပါသည်။
ကျွန်ုပ်တို့ဖန်တီးထားသော function each ကို အသုံးပြု၍
�ာကြောင်းတစ်ခုစီ၏ ပထမအက္ခရာကို အကြီးစာလုံးပြုလုပ်ပါ။