我不知道错误发生在哪里节点js回调不起作用

时间:2017-02-20 12:13:59

标签: node.js mongodb callback

在这个函数中,我们从Mongo数据库和进程函数获取id,以便将变量放入GetID varriable中 "回调不是功能"

  var GetID = function( nameval , callback ){
  console.log(nameval);
  console.log("munesh hello");
  var result = GenerateID.find({ "id_name" : nameval },{"id_code":1 , "id_value":1 , "_id":0},function( err , genvalue ) {
    if ( err )
    {
        console.log('error has been occured');
        //throw err;
    }
    else {
        if(genvalue === null)
        {
            callback( err , false );
        }
        else
        {
            console.log(genvalue);
            //calling this function
            callback( err , true );
        }
    }
    //        console.log(genvalue);
     });
     console.log('munesh kumar');
     //  console.log(result);
     console.log('kumar'); 
    };

2 个答案:

答案 0 :(得分:0)

致电composer install时,您不会发送2个参数(GetIDnameval)。您只发送第一个参数:

callback

相反,这是你应该如何调用函数:

var region_id = GenerateID.GetID( name );

请记住,您正在处理异步函数。您不能GenerateID.GetID(name, function(error, result) { if(error) { // handle error } else { if(!result) { // not found } else { // do something with result } } }); 直接从异步函数(return)输出。相反,你必须将它传递给回调函数。

您的GetID函数应该是这样的:

GetID

答案 1 :(得分:0)

 var region_id = GenerateID.GetID( name , function(error, result) {
                        if(error) {
                            // handle error
                        console.log("getting any error");
                        } else {
                            console.log(region_id);
                            if(!result) {
                                console.log('data is not coming');

                            } else {
                                console.log('data is coming');

                            }
                        }
                    });



 get id function are below                                              var GetID =function( nameval ,callback){
console.log(nameval);
console.log("munesh hello");

   GenerateID.find({ "id_name" : nameval },{"id_code":1 , "id_value":1 , "_id":0},function( err , genvalue ) {
    if (err) {
        console.log('hello');
       // callback(err);
    } else {
        if (genvalue === null) {
            console.log('123');
            callback(null, null); // no document found
        } else {
            console.log('456');
            callback(null, genvalue);
        }
    }
  });

  };