javascript - mysql查询后 promise 警告

标签 javascript mysql node.js promise

我是 nodejs 的新手。我有这段代码:

exports.index = function(req, res) {
  User.findAll({
    attributes: [
      '_id',
      'name',
      'email',
      'role',
      'provider'
    ]
  })
    .then(function(users) {
      res.status(200).json(users);
    })
    .catch(handleError(res));
};

function handleError(res, statusCode) {
  statusCode = statusCode || 500;
  return function(err) {
    res.status(statusCode).send(err);
  };
}

我在执行时收到了这个警告:

Warning: a promise was created in a handler but was not returned from it

at [object Object].Model.findAll (C:\aii\tema2-node\node_modules\sequelize\lib\model.js:1329:18)

你知道我为什么收到那个警告吗?

谢谢。

最佳答案

我认为你必须返回 User.findAll

exports.index = function(req, res) {
  return User.findAll({
    attributes: [
      '_id',
      'name',
      'email',
      'role',
      'provider'
    ]
  })
    .then(function(users) {
      res.status(200).json(users);
    })
    .catch(handleError(res));
};

关于javascript - mysql查询后 promise 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34442712/

相关文章:

javascript - 为什么 Jquery 表单提交事件没有触发?

java - 使用准备好的语句插入单行

mysql - 从 MySQL 中间检索第一条、最后一条和第三条记录的最有效方法是什么?

node.js - yarn 显​​示未找到命令

node.js - 测试 jsonwebtoken 身份验证 express 中间件

Javascript 窗口关闭事件而不是所有浏览器的卸载事件

JavaScript 表单编号

javascript - 如何在 history.js 中使用正斜杠而不是哈希 (#)?

python - 监听简单表上的插入/更新事件

node.js - 如果用户更改浏览器,为什么我的 React 应用程序会显示 "Cannot GET/route"?