⊗jsSpPrmAr 170 of 294 menu

Pengendalian Tatasusunan Janji dalam JavaScript

Sekarang kita akan membincangkan dua kaedah berguna, yang membolehkan bekerja dengan tatasusunan janji. Kaedah Promise.all membolehkan melaksanakan kod setelah semua janji yang disampaikan kepadanya dalam bentuk tatasusunan selesai, manakala kaedah Promise.race menunggu pemuatan janji pertama dari tatasusunan, membuang yang lain.

Kedua-dua kaedah mengembalikan janji baharu sebagai hasilnya. Bagi kaedah Promise.all, hasil janji ini akan menjadi tatasusunan hasil semua janji yang disampaikan (susunan hasil sepadan dengan susunan janji dalam tatasusunan), manakala bagi Promise.race - hasil janji pertama yang berjaya dilaksanakan.

Mari kita lihat dalam praktik. Katakan kita mempunyai tatasusunan janji:

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

Mari menggunakan Promise.all untuk menunggu sehingga semua janji dari tatasusunan kita siap dimuat:

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

Sekarang mari menggunakan Promise.race untuk menunggu sehingga janji pertama siap dimuat:

Promise.race(promises).then(function(res) { console.log(res); // akan memaparkan 1 - hasil janji pertama yang dilaksanakan });

Jika sekurang-kurangnya satu janji dalam tatasusunan ditolak, maka janji dengan hasil akan segera bertukar kepada keadaan rejected. Oleh itu, pengecualian yang timbul boleh ditangkap dengan cara biasa, yang telah anda pelajari, contohnya, melalui catch:

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

Buat fungsi yang mengembalikan janji, di dalamnya ditentukan kelewatan rawak dari 1 hingga 10 saat. Biarkan hasil janji mengembalikan kelewatan ini. Menggunakan gelung dan fungsi anda, isikan tatasusunan dengan 10 janji.

Menggunakan tatasusunan janji dari tugas sebelumnya, buat agar hasil janji pertama yang berjaya dilaksanakan dipaparkan di konsol.

Menggunakan tatasusunan janji dari tugas sebelumnya, buat agar jumlah hasil semua janji dipaparkan di konsol.

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