Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sofyansetiawan/lecture-promise

Lecture notes for Javascript Promise
https://github.com/sofyansetiawan/lecture-promise

asynchronous javascript lecture-material lecture-notes promise promises

Last synced: 4 days ago
JSON representation

Lecture notes for Javascript Promise

Awesome Lists containing this project

README

        

## LECTURE PROMISE

- Promise adalah instance object dari class Promise.
- Recap Callback
- **Promise** --`Janji` (Asyncromous)
- Cek di MDN
- Condition untuk Promise (`Diuji`)
- Jika terpenuhi dan Jika tidak terpenuhi
- State
- Analoginya: Pesan di restoran atau gofood
- **pending** - Merupakan kondisi awal, ketika kita Berjanji, belum terpenuhi / ditolak.
- **fulfilled** - Merupakan kondisi dimana Promise sudah terpenuhi
- **rejected** - Merupakan kondisi dimana Promise gagal terpenuhi.
- Callback vs Promise
- Menempatkan callback pada object Promise
- Cara membuat Promise
- Deklarasi Promise (**resolve**, **reject**)
- resolve() -- Promise sudah terpenuhi (berhasil / terpenuhi)
- reject() -- Promise tidak terpenuhi (gagal / ditolak)
- resolve dan reject ini adalah *CALLBACK* !
- resolve dan reject ini hanya menerima 1 parameter saja
- Dijalankan hanya salah 1. Jika resolve maka tidak reject dan sebaliknya
- Ketika tidak menemukan resolve atau reject == pending
- Promise dengan tanpa parameter
- Promise dengan parameter
- return promise
- Cara pakai / handle Promise
- Ketika tidak di handle maka error `UnhandledPromiseRejectionWarning`
- Chaining **then()** -- **catch()**
- then -- menangkap resolve
- catch -- menangkap reject
- then bisa multiple chaining, catch hanya butuh 1 di akhir
- Penulisan -- sequential / synchronous, proses didalamnya -- asynchronous
- Tidak menjorok ke dalam seperti pyramid of doom
- **Promise Chaining**
- Sama-sama me-return new promise dan akan di-passing ke parameter selanjutnya
- Jika tidak di return promise / sebuah data yang di return maka **undefined** di then() berikutnya
- **Promise Hell** (avoid it)
- Mengubah Callback menjadi Promise
- Promise readFile (**fs.readFilePromise**) Cek di Dokumentasi
- Membaca 3 file JSON
- Promise **pool.query** Cek di Dokumentasi
- Bulk insert dengan promise