接下来不是一个功能

时间:2017-08-09 14:24:30

标签: javascript node.js

我在Node.js中运行以下代码时遇到错误: TypeError:next不是函数

   function lastmessage(collection, path, conf, conf2, next) {
    let tmp = conf === 0 ? hotelcode : parseInt(hotelcode);
    db.collection(collection).find({
        [path]: tmp
    }).sort({
        'created_at': -1
    }).toArray(function(error, docs) {
        if (error) return next(error);
        if (docs.length > 0) {
            if (conf2 === 0) {
                console.log(docs[0].updatedAt);
                return next(null, docs[0].updatedAt);
            }
            console.log(docs[0].created_at);
            return next(null, docs[0].created_at);
        }
        console.log('empty');
        return next(null, 'empty');
    });
}

我做错了什么?

2 个答案:

答案 0 :(得分:1)

我认为,如果你在这个函数中设置的第五个参数是一个函数,你应该首先定义名为next的函数。

答案 1 :(得分:0)

// callback function
function someFunc(holder, document) {
 // do stuff
}

// when calling lastMessage, of course there won't be null values.
lastMessage(null, null, null, null, someFunc);