首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Route.get()需要回调函数,但在使用两个get请求后得到了一个[未定义的对象]

Route.get()需要回调函数,但在使用两个get请求后得到了一个[未定义的对象]
EN

Stack Overflow用户
提问于 2017-04-07 17:24:00
回答 1查看 10.9K关注 0票数 0

我正在学习节点,在我的index.js中有两个get请求

代码语言:javascript
复制
var express = require('express');
var router = express.Router();


router.get('/', function(req, res, next) {
    res.status(200)
      .json({
        status: 'success',
        message: 'Welcome to EverestApi!'
      });
});



var db = require('./queries');

router.get('/api/users', db.getAllUsers);
router.get('/api/pref', db.getAllPref);


module.exports = router;

还有我的query.js

代码语言:javascript
复制
var promise = require('bluebird');

var options ={
    promiseLib : promise
};

var pgp = require('pg-promise')(options);
var db = pgp({
    host: 'localhost',
    port: 5432,
    database: 'nari',
    user: 'postgres',
    password: 'pes'
});


function getAllUsers(req, res, next) {
  db.any('SELECT * FROM office.users')
    .then(function (data) {
      res.status(200)
        .json({
          status: 'success',
          data: data,
          message: 'Retrieved all users'
        });
    })
    .catch(function (err) {
      return next(err);
    });
}


function getAllPref(req, res, next){
  db.any('SELECT * FROM core.preferences')
    .then(function(data){
      res.status(200)
        .json({
          status: 'success',
          data : data,
          message : 'Retrieved all preferences'
        });
    })
        .catch(function(err){
          return next(err);
        });
    
}


module.exports ={getAllUsers: getAllUsers};
module.exports={getAllPref : getAllPref};

在here.One getAllUsers()中有两个GET操作,而服务器提供的是另一个getAllPref().Starting。

D:\node-postgress-promises\node_modules\express\lib\router\route.js:202抛出新错误(Msg);^

错误: Route.get()需要回调函数,但是在路由(匿名函数) as get的Function.proto.(匿名函数)对象处有一个未定义的对象。(D:\node-postgress-promises\api\index.js:17:8) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Module.require (module.js:353:17) at require (内部/module.js:12:17)。(d:\节点-母校-承诺\server.js:6:11)在Module._compile (module.js:409:26)、Object.Module._extensions..js (module.js:416:10)、Module.load (module.js:343:32)、Function.Module._load (module.js:300:12)、Function.Module.runMain (module.js:441:10)启动(node.js:139:18)时

如果我对上述路线中的一条进行评论。Router.get(‘/api/user’,db.getAllUsers);我得到了response..Any的帮助。我知道这很天真,但我仍然在学习,如果太naive.Thank的话,我对this.Pardon还很陌生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-07 17:41:30

在你的query.js里

导出对象中的函数

代码语言:javascript
复制
module.exports = {
  getAllUsers: getAllUsers,
  getAllPref: getAllPref,
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43283877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档