Bagaimana janji javascript dieksekusi?

Salah satu blok bangunan web yang paling banyak digunakan, JavaScript adalah bahasa scripting sisi klien yang kuat yang sebagian besar menggunakan pemrograman single-threaded. Jika sepotong kode dieksekusi, kontrol tidak akan ditransfer sampai selesai dieksekusi. Meskipun ini menyederhanakan kode, ada kekurangannya.  

Bayangkan sebuah fungsi menunggu sumber daya atau melakukan permintaan jaringan. Ini membutuhkan waktu, dan sementara itu, seluruh eksekusi terhenti.  

Untuk mengatasi kelemahan ini, pemrograman asinkron ikut berperan. Dengan bantuan fitur seperti Callbacks, Promises, dan Async/Await, Anda dapat melakukan tindakan yang memakan waktu tanpa memengaruhi utas eksekusi utama.  

Di artikel ini, Anda akan diperkenalkan dengan Promises dengan bantuan demo sederhana.  

Kursus Pengembang Java Stack Penuh

Bermitra dengan HIRIST dan HackerEarth JELAJAHI KURSUS

Bagaimana janji javascript dieksekusi?

Apa janji JavaScript?

Janji adalah tindakan asinkron yang mungkin selesai di beberapa titik di masa mendatang dan menghasilkan nilai. Nilai ini belum tentu diketahui pada saat pembuatannya. Setelah nilai dihasilkan, itu memberi tahu pengguna.  

Janji memberikan cara yang kuat untuk membungkus hasil pekerjaan asinkron, mengatasi masalah panggilan balik yang sangat bersarang.  

Janji JavaScript dibuat dengan bantuan kata kunci baru. Inilah sintaks umumnya.  

biarkan some_action = Janji baru (fungsi (selesaikan, tolak)

{

// Lakukan beberapa pekerjaan

})

Objek Janji menggunakan fungsi panggilan balik sebagai parameter, yang, pada gilirannya, mengambil dua parameter, menyelesaikan dan menolak. Janji itu dipenuhi atau ditolak.  

Ada tiga negara yang mengatur janji

  1. Tertunda - Janji tertunda saat dibuat. Artinya, janji itu belum dipenuhi dan operasi yang mendasarinya belum dilakukan.  
  2. Terpenuhi - Status ini menunjukkan bahwa operasi telah selesai dan janji dipenuhi dengan sebuah nilai.  
  3. Ditolak - Ini berarti terjadi kesalahan selama proses dan janji telah ditolak

Diketahui bahwa jika sebuah janji dipenuhi, maka beberapa kode harus dieksekusi. Dan jika ditolak, maka penanganan error harus dilakukan. Jadi untuk ini, ada dua metode.  

1. kemudian(panggilan balik) dipanggil untuk melampirkan panggilan balik saat janji diselesaikan/dipenuhi

ini(fungsi(hasil){

// tangani sukses }

2. metode catch(callback) dipanggil untuk melampirkan callback saat janji ditolak.  

tangkap(fungsi(kesalahan){

// tangani kesalahan }

Setelah janji diselesaikan (baik dipenuhi atau ditolak), itu dikatakan tidak dapat diubah dan tidak dapat mengubah statusnya.  

Untuk membantu Anda memahami konsep ini dengan lebih baik, lihat representasi bergambar janji di bawah ini.  

Promises_Workflow - Janji JavaScript

Sekarang setelah Anda mengetahui apa itu janji JavaScript dan sintaks umumnya, mari kita telusuri demo sederhana.  

biarkan mobil = Janji baru(fungsi(selesaikan,tolak){

fuel_fullTank = true;

jika(fuel_fullTank)

menyelesaikan()

kalau tidak

menolak()

});

mobil. lalu(fungsi(){

dokumen. write("Tangki bahan bakar sudah penuh. Selamat Mengemudi. ")

}). tangkap(fungsi(){

dokumen. write("Tangki bahan bakar tidak kosong. ")

})

Pada kode di atas, kami memeriksa bahan bakar mobil. Fungsi panggilan balik memeriksa kondisi penuh pada tangki bahan bakar. Jika benar, Promise terpenuhi, dan metode then() dipanggil. Jika tidak, error ditangkap oleh metode catch().  

Karena kita telah meng-hardcode nilai variabel fuel_fulltank menjadi true, metode then() dipanggil.  

Janji JavaScript

Jika nilai variabel fuel_fulltank disetel ke false, maka hasilnya adalah sebagai berikut.  

Janji JavaScript

Kursus Gratis. JavaScript untuk Pemula

Pelajari Dasar-dasar JavaScript Daftar Sekarang

Bagaimana janji javascript dieksekusi?

Janji Bersarang

Sekarang setelah Anda mengetahui cara kerja janji, mari tunjukkan cara kerja janji bersarang.  

Dalam hal ini, nilai sebuah janji bergantung pada nilai janji lainnya.  

Pertimbangkan kode yang memeriksa skenario saat tangki bahan bakar kosong. Jika kasusnya benar, maka Anda memeriksa apakah mesin sedang memanas. Jika ini juga berlaku, Anda dapat menampilkan pesan peringatan dan akhirnya mengakhiri janji.  

biarkan tangki_kosong = function(){

kembalikan Janji baru(fungsi(selesaikan,tolak){

resolve("Mobil tidak memiliki bahan bakar yang cukup. ")

})

}

Kode di atas membuat fungsi yang mengembalikan janji. Fungsi ini ditugaskan ke variabel empty_tank, dan janji diselesaikan dengan pesan.  

Demikian pula, berikut adalah dua fungsi lainnya, engine dan travel, yang mengembalikan Promise.  

biarkan mesin = function(msg){

kembalikan Janji baru(fungsi(selesaikan,tolak){

resolve(msg + "Mesin terlalu panas. ")

})

}

biarkan perjalanan = function(msg){

kembalikan Janji baru(fungsi(selesaikan,tolak){

resolve(msg + "Mobil tidak aman untuk dikendarai. ")

})

}

Untuk melakukan aksi, kita menggunakan metode then.  

tangki_kosong(). lalu(fungsi(hasil){

kembali mesin (hasil)

}). lalu(fungsi(hasil){

perjalanan kembali (hasil)

}). lalu(fungsi(hasil){

menghibur. log("Selesai. " + hasil)

})

Pertama-tama kita memanggil fungsi empty_tank , yang mengembalikan sebuah promise. Metode then memegang fungsi panggilan balik untuk memeriksa mesin.  

Di sini, kami telah mengembalikan mesin fungsi. Fungsi mesin sekarang mengembalikan janji lain di mana metode kemudian dijalankan lagi. Di dalam fungsi callback, kami mengembalikan fungsi terakhir, travel.  

Sekarang kami menjalankan metode then pada janji yang dikembalikan untuk menampilkan pesan yang menunjukkan bahwa ketiga janji telah diselesaikan.  

Karena setiap janji menampilkan pesan, kita dapat menangkap pesan sebagai hasilnya dan meneruskan nilainya ke fungsi berikut. Kami juga telah menambahkan pesan di dalam promise.  

Ketika kode di atas dijalankan, output berikut terlihat.  

Janji Bersarang


Dapatkan dasar yang kuat di Java, bahasa pemrograman yang paling umum digunakan dalam pengembangan perangkat lunak dengan Kursus Pelatihan Sertifikasi Java

Langkah selanjutnya

Jika Anda ingin mempelajari lebih lanjut tentang konsep janji JavaScript, tonton video tutorial Simplilearn, Penjelasan Janji JavaScript

Dan jika Anda ingin mempelajari JavaScript, pertimbangkan kursus sertifikasi. Kursus Pelatihan Sertifikasi JavaScript Simplilearn membantu Anda menguasai bahasa pemrograman JavaScript dalam program pelatihan lengkap yang mencakup dasar-dasar JavaScript lengkap, jQuery, Ajax, dan lainnya. Anda akan menerapkan keterampilan Anda dengan membuat aplikasi obrolan waktu nyata

Temukan Bootcamp Online Pengembang Java Stack Lengkap kami di kota-kota teratas

NameDatePlaceFull Stack Java DeveloperCohort dimulai pada 1 Februari 2023,
Batch akhir pekanKota AndaLihat Detail Full Stack Java DeveloperCohort dimulai pada 8 Feb 2023,
Batch akhir pekanKota AndaLihat Detail Full Stack Java DeveloperCohort dimulai pada 15 Feb 2023,
Batch akhir pekanDetail CityView Anda

tentang Penulis

Bagaimana janji javascript dieksekusi?
Simplelearn

Simplilearn adalah salah satu penyedia pelatihan online terkemuka di dunia untuk Pemasaran Digital, Komputasi Awan, Manajemen Proyek, Ilmu Data, TI, Pengembangan Perangkat Lunak, dan banyak teknologi baru lainnya

Bagaimana Janji dieksekusi di node JS?

Promise umumnya dibuat dengan memanggil konstruktor Promise, yang menerima satu fungsi callback sebagai argumen . Fungsi callback, juga dikenal sebagai fungsi pelaksana, dijalankan segera setelah janji dibuat.

Bagaimana Janji bekerja di loop acara JavaScript?

Setelah janji antrian microtask selesai, event loop akan kembali mendeteksi bahwa ada satu item yang sedang dalam proses. antrian nextTick yang ditambahkan selama pemrosesan janji mikro. Kemudian node akan memproses 1 item yang tersisa di antrian nextTick

Bagaimana cara kerja Janji JavaScript di balik terpal?

Itu mengeksekusi panggilan balik dari janji segera. Itu menyusun fungsi yang mengambil nilai Janji masa depan dan mengubahnya untuk mengembalikan Janji baru yang berisi nilai yang diubah. jika Anda mengembalikan Janji dalam a. lalu metode, itu akan meratakannya untuk menghindari Janji bersarang

Apakah Janji dijalankan secara asinkron?

Janji adalah pola yang membantu satu jenis pemrograman asinkron tertentu . fungsi (atau metode) yang mengembalikan hasil tunggal secara asinkron. Salah satu cara populer untuk menerima hasil seperti itu adalah melalui panggilan balik ("panggilan balik sebagai kelanjutan"). asyncFunction ( arg1 , arg2 , hasil => { konsol.