Method catch() mengembalikan Promise
dan hanya setuju jika kasusnya gagal. Sama halnya dengan memenggil method Promise.prototype.then(undefined, onRejected)
.
Sintaks
p.catch(onRejected); p.catch(function(reason) { // rejection });
Parameter
- onRejected
-
Function
dipanggil ketikaPromise
ditolak. Fungsi ini memiliki satu argumen, alasan penolakan.
Deskripsi
Method catch
sangat berguna untuk menangani error di gabungan promis anda.
Contoh
Penggunaan method catch
var p1 = new Promise(function(resolve, reject) {
resolve('Success');
});
p1.then(function(value) {
console.log(value); // "Success!"
throw 'oh, no!';
}).catch(function(e) {
console.log(e); // "oh, no!"
}).then(function(){
console.log('after a catch the chain is restored');
}, function () {
console.log('Not fired due to the catch');
});
// The following behaves the same as above
p1.then(function(value) {
console.log(value); // "Success!"
return Promise.reject('oh, no!');
}).catch(function(e) {
console.log(e); // "oh, no!"
}).then(function(){
console.log('after a catch the chain is restored');
}, function () {
console.log('Not fired due to the catch');
});
Promis tidak dapat mendeteksi error pada asynchronous callback
var p1 = new Promise(function(resolve, reject) {
throw 'Uh-oh!';
});
p1.catch(function(e) {
console.log(e); // "Uh-oh!"
});
var p2 = new Promise(function(resolve, reject) {
setTimeout(function() {
throw 'Uncaught Exception!';
}, 1000);
});
p2.catch(function(e) {
console.log(e); // This is never called
});
Spesifikasi
Spesifikasi | Status | Comment |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Promise.prototype.catch' in that specification. |
Standard | Initial definition in an ECMA standard. |
ECMAScript (ECMA-262) The definition of 'Promise.prototype.catch' in that specification. |
Living Standard |
Kompabilitas Browser
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.