/ / जावास्क्रिप्ट - इस चेतावनी को हल नहीं कर सकता: वचन एक हैंडलर में बनाया गया था '- जावास्क्रिप्ट, node.js, sequelize.js, ब्लूबर्ड

जावास्क्रिप्ट - इस चेतावनी को हल नहीं कर सकता: वचन एक हैंडलर में बनाया गया था '- जावास्क्रिप्ट, node.js, sequelize.js, ब्लूबर्ड

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

यदि // डू स्टफ एरिया में बनाए गए कोई अन्य वादे हैं, तो उनको वापस लौटना सुनिश्चित करें।