Skip to content

Month: October 2015

ใช้งาน Promise ใน Node.js ด้วย Bluebird

ทำไมควรใช้ Promise? ทำไมถึงควรใช้ Bluebird?

โพสต์ที่แล้วผมแนะนำ lib สำหรับจัดการ control flow ของ Node.js ไปคือ Async และ Bluebird ซึ่ง Async ทุกคนที่เขียน Node.js คงคุ้นเคยกันดีเพราะเป็นสไตล์ callback pattern แต่ Bluebird อาจจะยังไม่คุ้นเคยกันเพราะใช้ Promise pattern หรืออาจจะใช้กันเป็นปกติอยู่แล้วก็ไม่รู้ แต่ผมไม่สนใจครับ โพสต์นี้ผมจะมาสอนจระเข้ว่ายน้ำ (นี่แน่ะ!)

Promise ที่เป็น built-in ฟีเจอร์ของ ES6 ถึงจะสะดวกแต่ส่วนตัวผมมองว่ามันก็ยังไม่ค่อยสะดวกเท่าไหร่ถ้ามีการใช้งานในรูปแบบที่ซับซ้อนขึ้น เช่น การจัดการกับ Promise array หรือ Promise Map เพราะ class Promise ของ ES6 เองเป็น class พื้นฐานฟีเจอร์จึงน้อย Bluebird เลยสะดวกกว่า