我有Sails.JS 0.9.8的问题.
我想使用承诺与Model.query()函数(我使用sails- mysql适配器).
我想使用承诺与Model.query()函数(我使用sails- mysql适配器).
此代码将工作:
User.findOne({ email: email }) .then(function(user) { console.log(user); });
但这不会
User.query("SELECT email FROM user WHERE email = ?",[ email ])) .then(function(err,rows) { console.log(rows); })
我对’err’和’rows’都没有定义.
是不是没有实现或我做错了什么?
如果没有实现,有没有替代使用.query()的承诺?
先谢谢你
解决方法
您可以自己承诺(User.query),就像您对任何其他基于回调的API一样,如:
var Promise = require('bluebird');
….
var userQueryAsync = Promise.promisify(User.query); userQueryAsync("SELECT email FROM user WHERE email = ?",[ email ]) .then(function(user) { console.log(user); });