Computer >> Máy Tính >  >> Lập trình >> Javascript

Làm thế nào để sử dụng cuối cùng trong lời hứa với then và bắt trong Javascript?

Khi một lời hứa được giải quyết, tức là được thực hiện hoặc bị từ chối, hàm gọi lại được chỉ định trong phương thức cuối cùng sẽ được gọi. Phương thức cuối cùng () cũng trả về một Lời hứa.

Điều này cung cấp một cách để chạy mã cho dù lời hứa đã được thực hiện thành công hay bị từ chối sau khi Lời hứa đã được xử lý. Hãy để chúng tôi xem xét một ví dụ,

Ví dụ

new Promise(
   (resolve) => setTimeout(resolve("success"), 1000)
).then(val => console.log(val)).finally(() => console.log("Promise complete!"))

Đầu ra

success
Promise complete!

Bây giờ chúng ta hãy xem điều gì sẽ xảy ra nếu một lời hứa không thành -

Ví dụ

// No method get on undefined. This will throw an error
new Promise(() => undefined.get())
   .then(val => console.log(val))
   .catch(err => console.log("Failed!"))
   .finally(() => console.log("Promise complete!"))

Đầu ra

Failed! 
Promise complete!

Lưu ý trong cả hai trường hợp dù thất bại hay thành công, lời hứa sẽ thực hiện câu lệnh cuối cùng.