⊗jsSpPrmAr 170 of 294 menu

Bekerja dengan Array Promise di JavaScript

Sekarang kita akan membahas dua metode yang berguna, yang memungkinkan kita bekerja dengan array promise. Metode Promise.all memungkinkan mengeksekusi kode setelah semua promise yang diberikan kepadanya dalam bentuk array selesai, sedangkan metode Promise.race menunggu promise pertama dalam array selesai, dan mengabaikan yang lainnya.

Kedua metode mengembalikan promise baru sebagai hasilnya. Untuk metode Promise.all, hasil dari promise ini akan berupa array yang berisi hasil dari semua promise yang diberikan (urutan hasilnya sesuai dengan urutan promise dalam array), sedangkan untuk Promise.race - hasil dari promise pertama yang selesai.

Mari kita lihat dalam praktik. Misalkan kita memiliki array promise:

let promises = [ new Promise(resolve => setTimeout(() => resolve(1), 1000)), new Promise(resolve => setTimeout(() => resolve(2), 2000)), new Promise(resolve => setTimeout(() => resolve(3), 3000)), ];

Mari gunakan Promise.all untuk menunggu semua promise dalam array kita selesai:

Promise.all(promises).then(function(res) { console.log(res); // akan menampilkan [1, 2, 3] - hasil semua promise });

Sekarang mari gunakan Promise.race untuk menunggu promise pertama yang selesai:

Promise.race(promises).then(function(res) { console.log(res); // akan menampilkan 1 - hasil promise pertama yang selesai });

Jika salah satu promise dalam array ditolak (rejected), maka promise dengan hasil tersebut akan segera beralih ke status rejected. Oleh karena itu, pengecualian yang terjadi dapat ditangkap dengan cara biasa, yang telah Anda pelajari, misalnya, melalui catch:

Promise.all(promises).then(function(res) { console.log(res); }).catch(function(err) { console.log(err); });

Buatlah fungsi yang mengembalikan promise, di dalamnya terdapat penundaan acak dari 1 hingga 10 detik. Biarkan hasil promise mengembalikan penundaan ini. Dengan menggunakan perulangan dan fungsi Anda, isi array dengan 10 promise.

Menggunakan array promise dari tugas sebelumnya, buatlah agar hasil promise pertama yang selesai ditampilkan di konsol.

Menggunakan array promise dari tugas sebelumnya, buatlah agar jumlah (sum) hasil semua promise ditampilkan di konsol.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak