Tag Archives: callback

Don’t forget callback

သောကြာနေ့က Server Side ပိုင်းကို prototype ကို Node.js သုံးပြီး ရေးထားတာကို real data နဲ့ စမ်းကြည့်တော့ ပြဿနာ တက်နေတယ်။ Request ပို့လိုက်ပေမယ့် respond က ပြန်မလာဘူး ဖြစ်နေတယ်။ Test data နဲ့ စမ်းတာကတော့ အကုန် အဆင်ပြေတယ်။

ရေးထားတာက

callback တွေကို ဆင့်ကာ ဆင့်ကာ ခေါ်ထားတာကို တွေ့ရမှာပါ။ Node.js မှာ callback တွေ ဆင့်ကာ မခေါ်ချင်ရင် event commit လုပ်လို့ရပါတယ်။ Async ဖြစ်တဲ့အတွက်ကြောင့် sync လိုမျိုး line bye line ပုံစံ မျိုးထက် ပိုစဉ်းစားရခက်တယ်။ non-blocking, asynchronous architecture ဖြစ်တဲ့ အတွက်ကြောင့် Database က နေ data တစ်ခုခြင်းစီ ထုတ်လိုက်ရင် တစ်ခါနဲ့ တစ်ခါ result order တွေ မတူတာတွေ ရှိတတ်တယ်။

အခုလိုမျိုး အဆင့်ဆင့် စစ်ဆေးရတဲ့ ကိစ္စတွေမှာ အရင်ပြီးတာ အရင်ထွက်လာတယ်။ ဟို အရင်ကလိုမျိုး အရင်လာတာ အရင် တွက် မဟုတ်တော့တဲ့ အတွက်ကြောင့် ပိုပြီးမြန်လာတယ်။ သို့ပေမယ့် CPU က 1 processor နောက်ပြီး nginx worker က တစ်ခုပဲ ဆိုရင်တော့ ဘာမှ မထူးပါဘူး။ တကယ်လို့ 2 processor မှာ 4 worker လောက်နဲ့ run လိုက်ရင်တော့ အရမ်းကို သိသာသွားတယ်။

callback တွေ ဆင့်ကာ ဆင့်ကာ ခေါ်ရတဲ့ အချိန်မှာ ပြဿနာလေးတွေ ရှိတတ်တယ်။ တစ်ခါတစ်လေ callback ခေါ်ဖို့ ကျန်ခဲ့တာဆိုရင်တော့ သေပြီပဲ။ အပေါ်က code မှာ များနေတာ ရှိပါတယ်။ အဲဒါကတော့ for loop ကို တန်းခေါ်ထားပြီး array count ကို မစ်ထားတာပဲ။ တကယ်လို့ အဲဒီ လူက phone number သာမရှိရင် callback က return ပြန်တော့မှာ မဟုတ်တော့ဘူး။

Continue reading