获取不到JS函数的返回值
发布于 4 年前 作者 guiyingyao 1131 次浏览 来自 问答

请问各位大佬获取不到JS函数的返回值,请问如何解决,谢谢,下面是具体的代码:

1.函数:

queryCommentAmountByQId: function(qid, _question) {

    var that = this

    var amount = 0

    const db = wx.cloud.database()

    db.collection(‘commentsForForum’).where({

        questionId: qid,

        }).get({

            success: res => {

                console.log(_question + “,查询评论数:” + res.data.length)//(2)

                amount = res.data.length

        }

    })

    return amount

    //这里返回的真实结果是4

},

2.调用函数:

var _comments_amount = that.queryCommentAmountByQId(res.data[i]._id, _question)

//这里调用后获得结果是0

console.log(_question+“评论数=” + _comments_amount) //(1)

3.调用后的结果:

(1)console.log(_question+“评论数=” + _comments_amount)

forum.js? [sm]:175 你知道哪些关于励志方面的诗词评论数=0

(2) console.log(_question + “,查询评论数:” + res.data.length)

forum.js? [sm]:212 你知道哪些关于励志方面的诗词,查询评论数:4

4.问题:

请问这样为什么获取到JS函数的返回值

1 回复

这是异步问题   因为    db.collection…没运行完毕  就返回了

所以返回结果是0

回到顶部