นี่เป็นอีกรูปแบบหนึ่งของการเรียกใช้ฟังก์ชันแบบ Promise คือการใช้ async await จาก
ตัวอย่างโค้ดด้านล่างจะเห็นว่าโค้ดสวยขึ้น อ่านง่ายขึ้นไปอีก วิธีใช้งานคือให้ประกาศคำว่า async หน้า
ฟังก์ชันที่ต้องการใช้งาน await จากนั้นเวลาเราเขียนโค้ดไปว่า await ตามด้วยชื่อฟังก์ชันจะเป็น
การกำหนดให้ฟังก์ชันนั้นทำงานให้เสร็จก่อนแล้วค่อยทำงานฟังก์ชันถัดไป เคล็ดลับในการเข้าใจง่ายๆ
คือ await คือให้รอแปปจนกว่าจะเสร็จแล้วค่อยไปต่อ
จากโค้ดและผลลัพธ์ด้านบน สมมติว่าเราจะเรียกใช้งานฟังก์ชัน triple ซึ่งใช้รับตัวเลขเข้า
มาแล้วคูณ 3 แล้วให้เรียกใช้งานฟังก์ชัน double ที่ใช้รับตัวเลขเข้ามาแล้วคูณ 2 ต่อมาให้เรียกใช้
ฟังก์ชัน double แต่ใส่ตัวอักษร t เข้าไป ( ทดสอบให้เกิด error ) ผลที่ได้คือได้ผลลัพธ์เป็น 9 กับ 2 ตาม
ลำดับและต่อมาก็แสดง error เพราะตัว t ไม่ใช่ตัวเลขจะเห็นได้ว่าเมื่อทำงานเจอ error แล้วโค้ดก็จะข้าม
การทำงานมาใน catch ทันทีเลย การใช้งาน await แนะนำว่าให้ครอบการทำงานด้วย try catch เสมอ
ตามตัวอย่างข้างบน เพื่อดัก error ที่อาจเกิดขึ้น
ข้อควรระวัง ประกาศ async หน้าฟังก์ชันที่ต้องการใช้งาน await ซึ่ง async/await ใช้กับ
callback ไม่ได้ ใช้กับฟังก์ชันแบบ Promise ได้เท่านั้น ถ้าอยากใช้ให้แปลง callback เป็น
ฟังก์ชันแบบ Promise ก่อน
ความคิดเห็น
แสดงความคิดเห็น