javascript - 在 Promise 中编辑 .then()

标签 javascript promise sequelize.js es6-promise

我有下面这个 Sequelize Controller :

const Category = require('../models').category;

module.exports = {
  list(req, res) {
    return Category
      .all({attributes: ['title']})
      .then(categories => res.status(200).send(categories))
      .catch(error => res.status(400).send(error));
  }
};

本质上,返回 Category.all({attributes: ['title']}) 会产生以下数组:

[
  {"title": "video"},
  {"title": "gif"},
  {"title": "website"}
]

我想将对象 {"title": "all"} 添加到数组的开头,方法如下:

const Category = require('../models').category;

module.exports = {
  list(req, res) {
    return Category
      .all({attributes: ['title']})
      .then(categories => 
        categories.unshift({"title": "all"})
        res.status(200).send(categories)
      )
      .catch(error => res.status(400).send(error));
  }
};

但我知道这并不完全正确。在处理 Promise 和 .then() 语句时,如何编辑 .then() 语句中的类别数组?谢谢!

最佳答案

.then(categories => {
        categories.unshift({"title": "all"})
        res.status(200).send(categories)
      })

只需在 then 语句中的代码周围添加花括号,这样它就不是隐含的返回。

关于javascript - 在 Promise 中编辑 .then(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50263476/

相关文章:

javascript - React.js 图像未加载

javascript - Node.js下自定义/装饰console.log

javascript - 如何访问链后面部分的 promise 结果

reactjs - 在 React 中使用 Firebase Promise setState

javascript - 返回来自 Promise 的数据

javascript - 当一个 promise 被拒绝时,使用 promise.all 对事务进行 Sequelize 无法回滚

node.js - 使用 Sequelize.js 添加带有自动生成字段的数据

javascript - 显示我的 json 结果,但它只从数据库返回 1 个结果

postgresql - 使用 Sequelize 和 PostgreSQL 设置数据库连接

javascript - 菜单打开时移动 View 问题?