Ich verwende Bluebird und Segel, um meine Anwendung zu erstellen. Wenn ich eine Datenbank-Aufruf innerhalb des Versprechens verwenden, zeigen sie mir die Warnung wieWarnung: Ein Versprechen wurde in einem Handler erstellt, wurde aber nicht zurückgegeben
Warnung: ein Versprechen wurde in einem Handler erstellt wurde aber nicht von es
var P = require('bluebird');
return new P(function (resolve, reject) {
Product.find({
or: [
{barcode: {'contains': q}},
{name: {'contains': q}},
{registrationCode: {'contains': q}}
]
})
.populate('batches')
.exec(function (err, products) {
if (err) return reject(err);
return resolve(products);
});
}); //- end promise
Sagt nicht schon Sails Versprechen? Wenn dies der Fall ist, sollten Sie den [Promise-Konstruktor-Antipattern] vermeiden (http://stackoverflow.com/q/23803743/1048572). – Bergi