⊗jsSpPrmEx 163 of 294 menu

Các tình huống ngoại lệ trong Promise trong JavaScript

Bây giờ hãy cùng học cách xử lý các tình huống ngoại lệ xảy ra bên trong một promise. Trong trường hợp phát sinh tình huống như vậy, chúng ta phải từ chối promise bằng một hàm từ chối đặc biệt, hàm này tự động được truyền vào tham số thứ hai của hàm promise:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { ... }, 3000); });

Bên trong hàm promise, chúng ta phải gọi resolve nếu mọi thứ diễn ra bình thường, hoặc reject nếu phát sinh tình huống ngoại lệ:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // dữ liệu của promise } else { reject('error in promise'); // văn bản lỗi của bạn } }, 3000); });

Sau đó, trong phương thức then, bạn phải truyền không phải một, mà là hai hàm làm tham số: hàm đầu tiên sẽ hoạt động nếu promise hoạt động bình thường (được resolve), còn hàm thứ hai - nếu hoạt động với lỗi (bị reject):

promise.then( function(result) { console.log(result); // in ra kết quả của promise }, function(error) { console.log(error); // in ra văn bản lỗi } );

Thông thường, đoạn mã trên được viết ngắn gọn hơn, như thế này:

promise.then(function(result) { console.log(result); // in ra kết quả của promise }, function(error) { console.log(error); // in ra văn bản lỗi });

Hãy tạo mã bất đồng bộ, mã này sẽ tạo ra các số ngẫu nhiên từ 0 đến 5. Bao bọc tất cả điều này trong một promise. Hãy để promise trả về kết quả là kết quả của phép chia một cho số đã tạo. Hãy để promise thực thi với lỗi, nếu xảy ra phép chia cho không, và thành công trong tất cả các trường hợp khác.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối