เมื่อวานทำการเขียน blog สำหรับลองใช้งาน Async/Await ด้วยภาษา Kotlin
ก็ไปเห็นว่าใน NodeJS 7.6 ขึ้นไปนั้น
สามารถใช้งาน Async/Await ได้เลย
ไม่ต้องมาใส่ flag hamony ในการ run แล้ว
เนื่องจาก Google V8 version 5.5 ได้ทำการเพิ่ม Async function เข้ามานั่นเอง
ตอนนี้ NodeJS version 7.7.1 แล้วนะดังนั้นลองมาใช้ดูกันหน่อยสิ
เป้าหมายหลักของ Async function
เพื่อเรียกใช้ code ที่เขียนด้วย Promise ได้ง่าย โดยใน function สามารถใช้ await เพื่อรอการทำงานของ Promise ส่งผลทำให้เขียน flow การทำงานแบบ Asynchornous ให้ดูเหมือน Synchornous ทำให้ code อ่านง่ายยิ่งขึ้น ที่สำคัญตัดเรื่องของ callback function ไปได้เลยมาดูตัวอย่างกันนิดหน่อย
เป็นการปรับจาก Promise มาเป็น Async/Await เป็นการดึงข้อมูลจาก REST API ของ Github เริ่มจาก Promise กันก่อน [gist id="76c462894bb9583ce82e8ee52a1a6764" file="promise.js"]ถ้า process การทำงานยาว ๆ หรือซับซ้อน
การใช้งาน Promise ก็ทำให้มึนงงหรือเกิดปัญหาได้ ดังนั้นถ้าต้องการวิธีการที่ง่ายและเรียบง่ายกว่า หนึ่งในนั้นคือ Async/Await นั่นเอง สามารถเขียนได้ประมาณนี้ [gist id="76c462894bb9583ce82e8ee52a1a6764" file="async.js"]จะเห็นได้ว่าวิธีการต่าง ๆ เกิดมาจากการแก้ไขปัญหาทั้งสิ้น
คำถามคือ ต่อไปคืออะไร ?Callback -> Promise -> Generators(coroutine) -> Async/await -> ?สวัสดี ขอให้สนุกกับการเขียน code ครับ Source code ตัวอย่างอยู่ที่ Github::Up1::NodeJS Async/Await Reference Website https://www.reddit.com/r/programming/comments/5vi1j0/node_76_with_asyncawait_marking_a_huge_step/?st=izve0nqd&sh=057a8413