私はSequelizeでGraphQLを使用していますが、私はnullを返す突然変異を持っています。GraphiQLはnil突然変異を返します
私は、変異のリゾルバを別の方法で変更しようとしましたが、GraphiQLでテストすると常にnullを返します。
相続人は、いくつかの異なる方法で記述されたリゾルバ:
1 - は当初、私は約束してラップに機能を追加するためのアイデアを持っていました。
resolve(root, args) {
return new Promise((resolve, reject) => {
db.record.findOne({ where: { UID: args.UID } })
.then(record => {
let newArr = undefined
if (record.watched == null) {
newArr = [args.value]
} else {
let old = record.watched
newArr = old.concat([args.value])
}
db.record.update({ watched: newArr }, { where: { UID: args.UID } })
.then(record => {
resolve(record)
})
})
})
}
2 - ここで私は約束を返します。
resolve(root, args) {
db.record.findOne({ where: { UID: args.UID } })
.then(record => {
let newArr = undefined
if (record.watched == null) {
newArr = [args.value]
} else {
let old = record.watched
newArr = old.concat([args.value])
}
return db.record.update({ watched: newArr }, { where: { UID: args.UID } })
})
}
3 - 私はすぐにレコードを直接返しました。
resolve(root, args) {
db.record.findOne({ where: { UID: args.UID } })
.then(record => {
let newArr = undefined
if (record.watched == null) {
newArr = [args.value]
} else {
let old = record.watched
newArr = old.concat([args.value])
}
db.record.update({ watched: newArr }, { where: { UID: args.UID } })
.then(record => {
return record
})
})
}
いずれの場合でもデータベースが更新されますか?それとも予想通りに起こっていないのでしょうか? –
データベースが更新されます –