Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

วิธีการใช้ในที่สุดตามสัญญาด้วยแล้วจับใน Javascript?


เมื่อมีการตกลงตามสัญญา กล่าวคือ สำเร็จหรือถูกปฏิเสธ ฟังก์ชันเรียกกลับที่ระบุในเมธอดสุดท้ายจะถูกเรียกใช้ ในที่สุดเมธอด () จะคืนค่า Promise ด้วย

นี่เป็นวิธีในการรันโค้ดไม่ว่าสัญญาจะสำเร็จหรือถูกปฏิเสธเมื่อสัญญาได้รับการจัดการแล้ว เรามาดูตัวอย่างกัน

ตัวอย่าง

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

ผลลัพธ์

success
Promise complete!

ตอนนี้ให้เราดูว่าจะเกิดอะไรขึ้นหากสัญญาล้มเหลว -

ตัวอย่าง

// 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!"))

ผลลัพธ์

Failed! 
Promise complete!

สังเกตในทั้งสองกรณีไม่ว่าจะล้มเหลวหรือสำเร็จ คำสัญญาจะดำเนินการตามคำสั่งสุดท้าย