【发布时间】:2019-03-07 11:36:18
【问题描述】:
我正在使用 sequelizeJS。我在 Promise 函数中有一个 Promise。我想做一个 Promise 函数来获取数据,然后将这个数据推入 Array 并返回这个 Array。
我尝试使用此代码,但没有成功。
function sequelize_conversation (conversation_id, req) {
return new Promise((resolve, reject) => {
var response = []
for (let id of conversation_id) {
db.ConversationPerson.findAll({ where: {'conversation_id': id, 'user_id': { [Op.ne]: req.user.user_id }} })
.then(person => {
console.log(person) // results: { 'id': 1, 'name': 'John' }
response.push(person.dataValues)
})
}
resolve(response)
})
}
我得到的结果:
response = []
但我想得到:
response = [{ 'id': 1, 'name': 'John' }]
请查看我的代码并帮助我了解 Promise 函数中的 Promise。提前谢谢!
【问题讨论】:
-
promises 意味着异步代码......你正在解决任何
db.ConversationPerson.findAll有机会做任何事情之前,更不用说完成
标签: javascript node.js promise sequelize.js