我正在清理一些sequelize
代码,而findOrCreate
函数会返回一个需要传播以获取实际结果对象的承诺。
我想重写我的代码以使用await
代替,并且,鉴于ES6支持数组解构,我认为不是
User.findOrCreate({ where: { mcId }, defaults }).spread((user, created) => {
// do stuff
})
我能够做到
const [user, created] = await User.findOrCreate({ where: { mcId }, defaults })
但唉,事实并非如此。
我收到错误(intermediate value) is not iterable
这样做有什么特别的伎俩,或者我想做的就是不可能吗?
答案 0 :(得分:4)
我正在使用Sequelize v4.37.10,这对我有用 -
const [address, created] = await models.Address.findOrCreate({ where: { pid: 123}, defaults});