9
คุณจะคืนค่าหลายค่าจากสัญญาได้อย่างไร?
เมื่อเร็ว ๆ นี้ฉันต้องเจอกับสถานการณ์บางอย่างสองสามครั้งซึ่งฉันไม่รู้วิธีแก้ปัญหาอย่างถูกต้อง สมมติรหัสต่อไปนี้: somethingAsync() .then( afterSomething ) .then( afterSomethingElse ) function afterSomething( amazingData ) { return processAsync( amazingData ); } function afterSomethingElse( processedData ) { } ตอนนี้สถานการณ์อาจเกิดขึ้นที่ฉันต้องการที่จะมีการเข้าถึงในamazingDataafterSomethingElse วิธีแก้ปัญหาที่ชัดเจนวิธีหนึ่งคือการส่งคืนอาร์เรย์หรือแฮชจากafterSomethingเนื่องจากคุณสามารถส่งคืนค่าจากฟังก์ชันได้เพียงค่าเดียว แต่ฉันสงสัยว่ามีวิธีafterSomethingElseยอมรับ 2 พารามิเตอร์และเรียกใช้ในลักษณะเดียวกันหรือไม่เพราะดูเหมือนจะง่ายกว่ามากในการจัดทำเอกสารและทำความเข้าใจ ฉันแค่สงสัยเกี่ยวกับความเป็นไปได้นี้เนื่องจากมีQ.spreadสิ่งที่คล้ายกับที่ฉันต้องการ
87
javascript
promise
q