Promise trong JavaScript...
Trong JavaScript, Promise là một đối tượng đại diện cho việc hoàn thành hoặc thất bại cuối cùng của một thao tác bất đồng bộ. Nó hoạt động như một giá trị tạm thời cho một kết quả chưa biết tại thời điểm hiện tại nhưng sẽ có trong tương lai. Promise cung cấp một cách tiếp cận có cấu trúc và gọn gàng hơn để xử lý mã bất đồng bộ so với các hàm callback truyền thống, vốn dễ dẫn đến tình trạng callback hell khi xử lý các logic phức tạp.
Một Promise có thể tồn tại ở một trong ba trạng thái:
- Pending (Đang chờ): Trạng thái ban đầu.
- Fulfilled (Hoàn thành) hoặc Resolved (Được giải quyết): Thao tác đã hoàn thành thành công.
- Rejected (Bị từ chối): Thao tác đã thất bại.
Tạo một Promise:
Một Promise mới được tạo bằng hàm khởi tạo Promise
. Hàm thực thi (executor) sẽ nhận hai đối số: resolve
và reject
.
Xử lý kết quả:
.then()
: Dùng để gắn các callback khi Promise được hoàn thành..catch()
: Dùng để xử lý lỗi (khi Promise bị từ chối) trong chuỗi Promise.
Cú pháp:
const login = new Promise((resolve, reject) => {
let password = true;
if (password) {
resolve();
} else {
reject();
}
});
Ví dụ:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tài liệu</title>
</head>
<body>
<script>
function login() {
return new Promise((resolve, reject) => {
let password = true;
if (password) {
resolve();
} else {
reject();
}
});
}
login()
.then(() => console.log("Đăng nhập thành công..."))
.catch(() => console.log("Mật khẩu không hợp lệ..."));
</script>
</body>
</html>
All rights reserved