Javascript 蓝鸟承诺不会收到任何数据
我正在尝试将承诺集成到我正在开发的应用程序的API中。我从下面的路线收到邮递员的“未收到数据”,而注释掉的块工作得很好Javascript 蓝鸟承诺不会收到任何数据,javascript,node.js,express,Javascript,Node.js,Express,我正在尝试将承诺集成到我正在开发的应用程序的API中。我从下面的路线收到邮递员的“未收到数据”,而注释掉的块工作得很好 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(
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;
正在同步执行您的函数。任何同步异常都将转换为对返回的承诺的拒绝。请试着用下面的方法来做
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);
});
@瓦西克穆罕默德没有。“未收到任何数据”。没有错,太快了!干杯