logo Ashraf

Fahami Promise dalam Javascript

<Tutorial >

Apa tu promise? Dalam bahasa melayunya janji. Ya promise dalama javascript sama juga dengan promise dalam real life. Contoh aku janji aku nak buat blog post baru kat blog ni. Dalam janji biasanya akan ada 2 result kan? Janji ditepati & juga janji dicapati.haha Kalau aku berjaya publish blog yang aku sedang tulis ni, jadi janji ditepati tapi kalau aku tak publish pun maknanya janji aku dah dicapatikan lah . Macam tu juga promise dalam javascript, ada 2 result, resolve & reject.

let janji = new Promise((resolve, reject) => {
    // Buat sesuatu yang berfaedah
    let published = true;
    if(published){
        resolve('ditepati');
    }else {
        reject('dicapati');
    }
});
// Guna promise dalam js
janji
    .then((mesej) => console.log('Janji telah ' + mesej)) // klu resolve
    .catch((mesej) => console.log('Janji telah ' + mesej)); // kalau reject


Kenapa perlu guna promise? Sebelum wujudnya promise, dalam asynchronous programming, developer javascript selalunya akan mengunakan callback untuk memastikan function tidak run sebelum task sebelumnya siap & hanya akan run selepeas task sebelumnya siap.

Synchronous programming

console.log('task no.1');
console.log('task no.2');
console.log('task no.3');
console.log('task no.4');
/* result:
task no.1
task no.2
task no.3
task no.4
*/


Asynchronous programming

console.log('task no.1');
setTimeout(() => {
    console.log('task no.2');
}, 2000);  // delay 2 saat
console.log('task no.3');
console.log('task no.4');
/* result:
task no.1
task no.3
task no.4
task no.2
*/
// selepas 2 saat baru task no.2 siap

Akan tetapi mengunakan callback akan menjadi masalah jika code kita terlalu besar dan terlalu banyak task callback function perlu diselesaikan sebelum ia siap. Jadi code akan menjadi susah untuk dibaca. Contoh callback function akan di update kemudian hari..

Buy Me A Coffee

Blog

Menjadi seorang Youtuber ?

Salam. Aku sekarang tengah prepare untuk publish content pertama untuk youtube aku. Kalau yang tak tau, ini adalah channel youtube aku: Youtube Ceghap. Sebelum ini ada aku letak video-video merepek kat situ tapi kebanyakkannya dah aku hide dari tatapan umum. Channel Youtube ni sebenarnya aku nak buat sebagai medium bagi aku punya personal improvement dari… Continue reading Menjadi seorang Youtuber ?

Import & Export WSL Linux Distro di Windows 10

Untuk yang masih belum tahu, Windows 10 telah menyediakan 1 platform Windows Subsystem for Linux (WSL) untuk kita menjalankan sistem operasi linux di dalam windows. Kita tidak lagi perlu untuk buat dual boot kalau kita nak menggunakan linux terutamanya untuk programming. Info lanjut mengenai Windows boleh rujuk https://docs.microsoft.com/en-us/windows/wsl/ Kalau kau dah pasang Ubuntu misalnya, &… Continue reading Import & Export WSL Linux Distro di Windows 10