GraphiQL返回nil变异

时间:2017-08-11 17:18:44

标签: node.js sequelize.js graphql graphql-js

我正在使用GraphQL和Sequelize,我有一个返回null的变异。

我尝试用不同的方法更改变种的解析器,但是当我用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
                    })
            })
    }

1 个答案:

答案 0 :(得分:0)

问题是你没有从你的解析器返回任何东西,而且你没有正确使用promises。尝试:

<%= roomData.nights.booked %>