आप वादे और कॉलबैक मिला रहे हैं। exec()
एक वादा वापस कर देगा, लेकिन केवल तभी जब उसके पास कोई तर्क पारित न हो। इसके अतिरिक्त, आपको exec()
. द्वारा लौटाए गए वादे को वापस करना होगा ।
return budget.save().then((res) => {
return Budget.findById(res._id) // missing return here
.populate('User')
.populate('Vehicle')
.exec() // don't need anything else
})
आप इसे थोड़ा और साफ कर सकते हैं:
return budget.save()
.then(res => Budget.findById(res._id)
.populate('User')
.populate('Vehicle')
.exec())
यदि आपको findById
. द्वारा लौटाए गए परिणामों को रूपांतरित करने की आवश्यकता है उन्हें ग्राहक को सौंपने से पहले:
return budget.save()
.then(res => Budget.findById(res._id)
.populate('User')
.populate('Vehicle')
.exec())
.then(res => {
res.foo = 'Foo'
return res
})