Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 蓝鸟承诺不会收到任何数据_Javascript_Node.js_Express - Fatal编程技术网

Javascript 蓝鸟承诺不会收到任何数据

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(

我正在尝试将承诺集成到我正在开发的应用程序的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(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);
});

@瓦西克穆罕默德没有。“未收到任何数据”。没有错,太快了!干杯