蓝鸟承诺不会收到任何数据
Bluebird promises no data received
我正在尝试将承诺集成到我正在开发的应用程序的API中。我在 Postman 中从以下路线收到"未收到数据",而注释掉的块工作正常。
import User from './models/User';
import express from 'express';
import Promise from 'bluebird';
const router = express.Router();
router.get("/", function(req, res, next){
Promise.try(function(){
User.find({}, function(err, users) {
return Promise.resolve(users);
});
}).then(function(result){
if (result instanceof Function) {
result(res);
} else {
return res.json(result);
}
}).catch(function(err){
next(err);
});
});
/*
router.get("/", function(req, res, next){
User.find({}, function(err, users) {
return res.json(users);
});
});
*/
module.exports = router;
Promise.try
正在同步执行您的函数。任何同步异常都将在返回的承诺上变成拒绝。请尝试使用如下所示new Promise
进行操作。
var p = new Promise(function (resolve, reject){
User.find({}, function(err, users) {
if (err)
reject(err);
else
resolve(users);
});
});
p.then(function(result){
return res.json(result);
}).catch(function(err){
next(err);
});
相关文章:
- 在javascript中调用函数/对象引用时,可容纳任何数据类型
- php函数的XMLHttpRequest响应不包含任何数据
- Javascript-Ajax 无法发送任何数据
- 为什么复选框在未选中时不提交任何数据
- 如果发现任何数据,如何停止每7秒运行一次的函数
- onClick()函数没有'不要发布任何数据
- ajax调用成功,但未返回任何数据
- 带有大型JSON的简单ngTable在单元格中不显示任何数据
- 动态输入文件中未加载任何数据
- 输入类型“文本”的 ng-init 不会在文本框内显示任何数据
- AngularJS “ng-repeat |滤波器:..“没有像我预期的那样工作(不显示任何数据)
- 发送 XHR 请求而不接收任何数据
- $.getJSON 没有进入函数,也没有获取任何数据
- Chained Promise with Express:在最后一步中未收到任何数据
- 蓝鸟承诺不会收到任何数据
- jQuery $.ajax 成功,但 serv 没有接收任何数据
- 我没有从getJSON函数获得任何数据
- 套接字 - 客户端站点上不显示任何数据
- XMLHttpRequest 不接收任何数据或只是“未定义”
- 在按 TAB 键时,文本字段中没有任何数据,它应该显示所需的字段验证 ASP.NET