Đối tượng lỗi trong Promise của JavaScript
Phổ biến hơn là truyền vào hàm reject
không phải một chuỗi lỗi, mà là một đối tượng lỗi:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
reject(new Error('lỗi trong promise')); // đối tượng với lỗi
}, 3000);
});
Cũng có thể ném các đối tượng lỗi
bằng throw - điều này sẽ tương đương với
việc truyền chúng vào reject:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
throw new Error('lỗi trong promise'); // tương đương với reject
}, 3000);
});
Hãy sửa đổi đoạn mã sau theo những gì đã học:
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
let isError = false;
if (!isError) {
resolve('thành công');
} else {
reject('lỗi');
}
}, 3000);
});