Quando si utilizza l'ORM della linea di galleggiamento, se si desidera utilizzare la promessa bluebird api è quella che viene spedita per impostazione predefinita come si passa l'elaborazione al controller.SailsJS linea di galleggiamento con Bluebird Promesse
Di seguito si riporta il codice:
module.exports = {
//Authenticate
auth: function (req, res) {
user = req.allParams();
//Authenticate
User.authenticate(user, function (response) {
console.log(response);
if (response == true) {
res.send('Authenticated');
} else {
res.send('Failed');
}
});
}
};
module.exports = {
// Attributes
// Authenticate a user
authenticate: function (req, cb) {
User.findOne({
username: req.username
})
.then(function (user) {
var bcrypt = require('bcrypt');
// check for the password
bcrypt.compare(req.password, user.password, function (err, res) {
console.log(res);
if (res == true) {
cb(true);
} else {
cb(false);
}
});
})
.catch(function (e) {
console.log(e);
});
}
};
Sto semplicemente cercando di implementare una funzione di autenticazione. La logica aziendale è semplice. Ciò di cui sono confuso è il modo in cui il flusso di richieste viene restituito al controller da allora. La promessa non risponde se provo a restituire una risposta, ma facendo un cb (valore) funziona.
Dove stai tornando Promessa in questo codice? – vanadium23
Secondo il documento (http://sailsjs.org/#!/documentation/reference/waterline/queries), la linea di galleggiamento ha una parziale implementazione di Bluebird, sto avendo la testa intorno al codice dopo l'User.find .. ... poi –