res.status在promise函数中未定义

时间:2018-07-08 17:15:14

标签: express promise routes

这是我在名为“ queries.js”的文件中的函数,用于查询数据库并将结果作为json对象返回

function getUsers(req,res) {
  db.any('select * from table')
    .then(function(response) {
      console.log(response); \\prints out JSON results directly from database
      res.status(200)
        .json({
          status: 'success',
          data: response,
          message: 'Retrieved all data'
      });
  })
  .catch(function (err) {
    console.log(err);
});

module.exports = {getUsers:getUsers};

这是我的明确路线,应该将上述函数返回的数据发送到URL,以便我可以从前端获取数据。

db = require('./queries');

app.get('', function(res,req) {
  db.getUsers();
});

我遇到的问题是在第一个函数“ res”中未定义,因此当我尝试调用res.status时,它将引发错误,并且无法继续执行其余的代码应该将数据发送到端点。

关于在response中为什么未定义res的任何想法?

1 个答案:

答案 0 :(得分:0)

getUsers中传递参数可能会有所帮助。

db = require('./queries');

app.get('', function(res,req) {
  db.getUsers(req,res);
});