Nodejs ऐप में sequelize.js का उपयोग करना, और मेरे पास एक है promise.all
जो दो वादे लेता है (ए user
क्वेरी, और ए color
क्वेरी):
router.get(`/someEndPoint`, (req, res) => {
let userAccount = user.findOne({
where: {
id: //some ID
}
});
let colorStuff = color.findOne({
where: {
colorName: //some color
}
})
Promise.all([userAccount , colorStuff ]).then(([result1, result2]) => {
//do stuff, such as:
res.send("success");
}).catch(err => {
console.log(err)
});
});
जो कहता है उस पर //do stuff
, मेरा कंसोल मुझे यह चेतावनी देता रहता है:
a promise was created in a handler at... but was not returned from it,
see (URL that I can"t post) at Function.Promise.attempt.Promise.try
मुझे यकीन नहीं है कि इसे कैसे हल किया जाए। मैंने सोचा था .then
कि वादे हल हो गए हैं?
उत्तर:
जवाब के लिए 2 № 1अन्य संदर्भ के बिना बताना मुश्किल है, लेकिन शायद आपको Promise.all वापस करने की आवश्यकता है
return Promise.all([user, color])...
यहां ब्लूबर्ड दस्तावेज़ों से: https://github.com/petkaantonov/bluebird/blob/master/docs/docs/warning-explanations.md#warning-a-promise-was-created-in-a-handler-but-was-not-returned-from-it
यदि // डू स्टफ एरिया में बनाए गए कोई अन्य वादे हैं, तो उनको वापस लौटना सुनिश्चित करें।