Hàm được dùng làm đối số đầu tiên của then sẽ chạy khi hàm resolve được gọi. Hàm được dùng làm đối số thứ hai của then sẽ chạy khi hàm reject được gọi
Kết quả của promise chỉ có thể được lấy ở trong then, và phải ở dạng hàm
resolve, reject là hai hàm được JS cung cấp sẵn để làm đối số cho hàm thực thi.
Khi resolve được gọi, vật thể promise sẽ cập nhật kết quả trả về từ resolve, và hàm được dùng làm đối số đầu tiên của then sẽ được chạy
- Thuộc tính
state
đang từpending
sẽ được gán giá trị mới làfulfilled
- Giá trị được truyền vào trong
resolve()
sẽ được gán vào thuộc tínhresult
- Hàm được dùng làm đối số đầu tiên của
then()
sẽ chạy
Ngược lại, khi reject()
được gọi:
- Thuộc tính
state
đang từpending
sẽ được gán giá trị mới làrejected
- Giá trị được truyền vào trong
reject()
sẽ được gán vào thuộc tínhresult
- Hàm được dùng làm đối số thứ hai của
then()
sẽ chạy