如何在SailsJS / Waterline中使用Model.query()和promises? [英] How to use Model.query() with promises in SailsJS/Waterline?

查看:103
本文介绍了如何在SailsJS / Waterline中使用Model.query()和promises?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我遇到了Sails.JS 0.9.8的问题。
我想在Model.query()函数中使用promises(我使用sails-mysql适配器)。

I'm having issues with Sails.JS 0.9.8. I would like to use promises with the Model.query() function (I use sails-mysql adapter).

这段代码可以工作:

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);
})

错误和行都未定义'。

是不是没有实施,或者我做错了什么?
如果没有实现,是否有任何替代方法可以使用.query()承诺?

Is it just not implemented or I am doing something wrong ? If not implemented, is there any alternative to use promises with .query() ?

提前谢谢

推荐答案

你可以 promisify(User.query)自己,就像你对任何其他基于回调的做法一样API,如:

You can promisify(User.query) yourself, just like you'd do for any other callback-based API, like:

var Promise = require('bluebird');

....

var userQueryAsync = Promise.promisify(User.query);
userQueryAsync("SELECT email FROM user WHERE email = ?", [ email ])
.then(function(user) {
    console.log(user);
});

这篇关于如何在SailsJS / Waterline中使用Model.query()和promises?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆