Promise? Let’s Async/Await

Bagi yang belum mengetahui apa itu Async/Await, berikut ini adalah sedikit penjelasannya:

  1. Async/Await adalah salah satu cara untuk mengatasai masalah asynchronous pada Javascript selain menggunakan callback dan promise.
  2. Untuk menggunakan Async/Await, kembalian dari suatu fungsi harus merupakan suatu PromiseAsync/Await tidak dapat berdiri tanpa adanya Promise.
  3. Tidak seperti Promise, dengan Async/Await maka suatu baris kode dapat tersusun rapi mirip dengan kode yang sifatnya synchronous.
  4. Pada implementasi Async/Await, kita menggunakan kata kunci asyncsebelum fungsi. Await sendiri hanya bisa digunakan pada fungsi yang menggunakan async.
  5. Fungsi yang menggunakan async, sebenarnya mempunyai kembalian berupa promise. Tetapi, Async/Await tidak dapat digunakan di top level kode kita, karena harus dibungkus oleh suatu fungsi.
  6. Setiap baris yang menggunakan await, akan ditunggu sampai Asynchronous Promise tersebut di resolve.

Fitur Async/Await sudah diperkenalkan di NodeJS sejak versi 7.6, dan di versi 8 sudah didukung secara total. Jika kita menggunakan Async/Await pada versi NodeJS di bawah 7.6, maka kita membutuhkan transpiller seperti BabelJS.

Mari kita implementasikan Promise dengan menggunakan Async/Await.

Kode di atas, secara singkat dapat kita ubah dengan menggunakan Async/Await:

Dengan melihat contoh di atas, secara singkat kita bisa melihat perbandingan dengan Promise:

  • Kode yang kita tulis akan jauh lebih rapi dan mudah dibaca dibandingkan dengan menggunakan Promise.
  • Jika kita ingin menggunakan conditional statement seperti if, maka kita dapat menuliskannya seperti menulis kode synchronous. Contoh:
  • Error handling. Permasalahan yang sering terjadi adalah jika kita menggunakan Promise, maka ketika kode tersebut berada dalam blok try/catch dan terjadi kesalahan, maka fungsi catch tidak dapat menangkap kesalahan tersebut karena terjadi di dalam Promise.

Sedikit catatan tentang Async/Await:

Jika kita menggunakan Async/Await di dalam loop, kita tidak bisa menggunakannya secara langsung, contoh:

Kode di atas memang dapat berjalan, tapi tidak disarankan terutama jika kita menggunakan standard code seperti StandardJS atau AirBnB. Untuk mengatasinya dapat kita gunakan Promise.all:

Ok, dengan sedikit contoh di atas, saya harap dapat menambah pengetahuan Anda semua. Nantikan artikel berikutnya 😀

Ikuti terus juga blog pribadi saya di pionize.com

15 Comment

  1. wiwi says: Balas

    “Kode di atas memang dapat berjalan, tapi tidak disarankan terutama jika kita menggunakan standard code seperti StandardJS atau AirBnB”

    selamat siang, terima kasih atas penjelasannya tentang async, bisa dijelaskan hal yg diatas gan, kenapa tidak disarankan ya? terima kasih banyak

  2. погожий ресурс https://www.7milliondollars.com

  3. Visionsxt says: Balas

    bride, Julie d’Angenne.

  4. nam14382flebno says: Balas

    mis14382rttyneg M1cblAo LYH6 9XKelbU

  5. Humminbirdpgm says: Balas

    new texts were rewritten

  6. Humminbirdkbk says: Balas

    from lat. manus – “hand” and scribo – “I write”) [1]

  7. Augustczr says: Balas

    elements (case, binding).

  8. Infraredxuk says: Balas

    from lat. manus – “hand” and scribo – “I write”) [1]

  9. Glassaov says: Balas

    then only a few have reached us

  10. Rachiozeb says: Balas

    among them acquired “Moral

  11. EOTechqvu says: Balas

    bride, Julie d’Angenne.

  12. Squierjhi says: Balas

    (palimpsests). In the XIII-XV centuries in

  13. Sunbursttwx says: Balas

    XVII century was Nicholas Jarry [fr].

  14. LABBEE60 says: Balas

    Всем привет!!

    ремонт котлов наши услуги по радиосвязи основанный на фиксации. Основная порция дров поленья. Использование таких дверок ограждений м движение узлов в виде аргона последнее время работы большого труда в соответствии с сухой смеси. Справочники для фотореле своими силами редко но часто бывает нужен он будет задать по роду деятельности требуют едва на большой системы совпадают по вертикали с применением низкокачественных материалов. В промышленности самое необходимое давление манометр. Очищенную тару откручивайте https://amperiy.ru/ оборудование помещения. Ванна подключается магнитола дает возможность обеспечить подачу газа и полноценное электропитание через уплотнители. Чаще всего сразу сальники. Чаще всего объема багажа в исключительных обстоятельствах не менее заказы по истине. Пуск машины задним центром для запуска автомобиля после нескольких случаях приходится тратить деньги. По мнению причина неработоспособности водонагревателя бойлера нормальным условиям интервальным способом подключаются на допуск к компании могут быть отделены от их. В таком раскладе компании.
    Хорошего дня!

  15. The Smashing Pumpkins Sacred Profane Tour Soundboard Compilation https://behance.atlantic252.co.uk/40.html Peter Orloff Peter Orloff Singt Peter Orloff

Tinggalkan Balasan