Promise là "lời hứa" cho kết quả của tác vụ async (ví dụ gọi API). Nó có 3 trạng thái:
- pending: đang chờ
- fulfilled: thành công (resolve)
- rejected: thất bại (reject)
Một khi đã fulfilled hoặc rejected thì không quay lại pending.
javascript
const p = new Promise((resolve, reject) => {
setTimeout(() => resolve('done'), 1000);
// hoặc reject(new Error('failed')) nếu có lỗi
});
p.then(val => console.log(val)).catch(err => console.error(err));Promise giúp tránh callback hell và làm luồng async dễ đọc hơn.