javascript - 如何在 SailsJS/Waterline 中使用带有 Promise 的 Model.query()

标签 javascript sails.js

我在使用 Sails.JS 时遇到问题。我想将 Promise 与 Model.query() 函数一起使用(我使用 sails-mysql 适配器)。 我使用 promise 如下:

var Promise = require('bluebird'); var PatientQueryAsync = Promise.promisify(Patient.query);

但是它不起作用。它返回ReferenceError: Patient is not Define,有人遇到同样的问题吗?非常感谢!

最佳答案

Waterline 支持 promise of the box所以没有必要做出 promise 。

Patient.findOne()
.where({ id: 5 })
.then(function(patient){
  //do something
  return patient.lastVisit;
}).catch(function(err){
   // An error occurred
})

然而,查询并没有在 promise 中扭曲,因此需要对其进行 promise (这对我有用):

var query = Promise.promisify(Patient.query);
query('SELECT name FROM patient').then(function(results) {
  //do something
});

关于javascript - 如何在 SailsJS/Waterline 中使用带有 Promise 的 Model.query(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34135364/

相关文章:

javascript - 当最后一只猫显示完整图像时如何发出警报?

javascript - 为什么 void 运算符在计算结果总是未定义时调用 GetValue(expr)?

node.js - 让 Sails.js 与 Node.js 集群模块一起工作

node.js - 如何将文件转换为 node.js 中的缓冲区?

sails.js - 如何使用 Sails.js/Waterline 有效地分页大量查询结果?

node.js - 更改 sails 模型后出错

javascript - 使用 puppeteer browser.newPage() 时 Firebase 函数超时

javascript - Spring 不执行回调的 $.getJSON

javascript - jquery自动完成删除选项触发函数

node.js - 无法安装Waterlock