我有一个用MySQL,async.waterfall用NodeJs编写的项目

我还实现了async.waterfall以避免我最近遇到的有关“回调不是函数”的问题

但是问题仍然存在。

这是我的异步瀑布

async.waterfall([
    function (callback) {
        hold.getEntry(function(data){
            var ref = data.ref;
            id = data.id;
            var message = data.mess;
            json = JSON.parse(message);

            return callback(null, {'ref':ref, 'id':id, 'json':json});
        });
    },
    function (dataa, callback) {
        if(dataa.ref === null){
            callback(null);
        }else{
            hold.checkPositionCandidate(dataa.ref, dataa.id, dataa.json, function(dataaa){
                return callback(null, dataaa);
            });
        }
    },
    function(anoData, callback) {
        console.log(anoData);
        if(anoData === true){

             //the err is here
            hold.getVoterCount(id, json, function(votercount){
                if(votercount == 0){
                } else {
                    console.log('last function');
                }
            });
        } else {
        }
    }
], function (err, results) {
   // When finished execute this
});


这是我的getVotercount函数

function getVoterCount (id, callback){
    pool.getConnection(function(err, con){
        con.query("select total_voters as tv from pollwatcher_view where party_id = ?", [id], function(err, rows){
        setTimeout(function(){

            //this callback is not a function
            callback(null, {'count':rows[0].tv});
            console.log(rows);
        }, 2000);
        });
    });
}


我非常接近完成我的项目,但是那使我感到沮丧。请有人帮我。

最佳答案

你好像在打电话

hold.getVoterCount(id, json, function(votercount){
                if(votercount == 0){
                } else {
                    console.log('last function');
                }
            });


但是您的getVoterCount函数仅使用2个预期参数定义。我建议尝试仅传递2个参数:

hold.getVoterCount(id, function(votercount){
            if(votercount == 0){
            } else {
                console.log('last function');
            }
        });

关于javascript - “回调不是功能” Node.Js,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35762125/

10-11 08:32