සිම්පල් මචන්, ඊමේල් එකක් යන සිද්ධිය ගනින්කො.
1. ඊමෙල් එක ඔයා යවනව
2. ඊමේල් එක අදාල කෙනාට යනව
ඔය 1 සිද්ද උනාට පස්සෙ 2 වැඩේ වෙනවද නැද්ද කියල අපිට 100% ශුවර් නෑ. හේතුව වැඩේ සිද්ද වෙන්න ඒ ඊමේල් එක යන්න ඕනි මුලින්ම ඊමේල් සර්විස් ප්රවයිඩර්ට, ඊට පස්සෙ එතතින් තව වැඩ දෙක තුනක් වෙලා තමා අදාල කෙනාට ඊමේල් එක යන්නෙ. ඒතනත් ඔයා වැරදියට ඇඩ්රස් එක දාල නන් මේල් එක යන්නෙ නෑ.
ඉතින් ඔය ඔක්කොම වැඩ ටික වෙනකන් ඔයාට බලන් ඉන්න වෙනව ඊමේල් එක සෙන්ට් කියන වැඩේ වෙන්න. එහෙම ඉවර වෙනකම්ම ඔයාට ඉන්න වෙනව නන් ඔයාට ඊමේල් එක සෙන්ට් බටන් එක ප්රෙස් කරාට පස්සෙ බලන් ඉන්න වෙනව වැඩේ වෙලා රිසල් එකක් එනකන්. ඒත් එහෙම ඉන්න එක ප්රැක්ටිකල් නැති නිසා ඔයා සෙන්ට් කියන එක එබුවට පස්සෙ ඒ ප්රොසෙස් එක ස්ටාර්ට් කරල ඔයාට යන්න දෙනව. හැබැයි ඔයා ස්ටාර්ට් කරපු ප්රොසෙස් එක පටන් අරගෙන බැක් ග්රවුන්ඩ් එකේ රන් වෙනව. මේ වගේ ටාස්ක් වලට තමා කියන්නෙ asynchronous Task කියල. කොයි වෙලාවක හරි ඊමේල් එකේ රිසල්ට් එක ඔයාට ආවට පස්සෙ ඒක අප්ඩේට් කරනව ඔයාගෙ මේල් එක.
ඔය වැඩේම අපිට ඔච්චර සන්කීර්ණ නැතුව කරගන්න ඕනි වෙන වෙලාවල් තියෙනව.
රෙක්කොඩ් එකක් DB එකේ සේව් කරන එක වගේ දේවල්. එතකොට ඒක ඔයාට කෝල් කරන්න තියෙන්නෙ ඔය විදියට තමා
function AB(){
වැඩ ගොඩක්
ගොඩක් වෙලා යනව
}
AB().then((result)=>{
මේක වැඩ කරන්නෙ AB කියන එක ඇතුලෙ තිබ්බ වැඩේ ඉවර උනාම.
})
console.log() // මේක වැඩ කරනව AB කියන එක ප්රොසෙස් වෙන අතරෙ.
/////
await කියන එකෙන් කරන්නෙ Then කියන එක වෙනුවට ඔය AB කියන එක කරල ඉවර වෙනකන් බලන් ඉන්න එක.,
එතකොට ඊට පහලින් තියෙන ලයින් එකක්වත් වැඩ කරන්නෙ නෑ අර ෆන්ක්ශන් එකේ වැඩ ඉවර වෙනකන්.
වෙලාවල හැටියට අපිට සමහර වෙලාවට ඔය await කියන එක පාවිච්චි කරන්න වෙනව හැබැයි අර මූලිකවම Async task එකක් රන් කරල බලාපොරොත්තු වෙන දේ නන් ඒකෙ අයින් වෙනව. ඒත් සමහර වෙලාවට අපිට ඒක ඕනි වෙනව.