Javascript 在承诺中对.then()进行编辑
我有以下sequelize控制器:Javascript 在承诺中对.then()进行编辑,javascript,promise,sequelize.js,es6-promise,Javascript,Promise,Sequelize.js,Es6 Promise,我有以下sequelize控制器: const Category = require('../models').category; module.exports = { list(req, res) { return Category .all({attributes: ['title']}) .then(categories => res.status(200).send(categories)) .catch(error => r
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));
}
};
但我知道这并不完全正确。在处理承诺和.then()
语句时,如何编辑.then()
语句中的类别数组?谢谢
.then(categories => {
categories.unshift({"title": "all"})
res.status(200).send(categories)
})
只需要在then语句中的代码周围添加大括号,这样它就不是一个隐含的返回
只需要在then语句中的代码周围添加大括号,这样它就不是一个隐含的返回。注意:您可以执行
.then(categories=>res.status(200)。send([{“title”:“all”},….categories])
注意:您可以执行。然后(categories=>res.status(200)。send([{“title”:“all”},….categories]))