The-NodeJS-Master-Class icon indicating copy to clipboard operation
The-NodeJS-Master-Class copied to clipboard

callback vs callBack in node.js

Open dcjayasuriya2020 opened this issue 5 years ago • 1 comments

how complete the ftruncate ? with/withtout callback(false)? my code in RESTful API is :

lib.update=function(dir,file,data, callBack){
//Open the file for writing
fs.open(lib.baseDir+dir+'/'+file+'.json', 'r+',function(err,fileDescriptor){
    if(!err && fileDescriptor){
        var stringData = JSON.stringify(data);
        
        fs.ftruncate(fileDescriptor, (err) => {
                if (!err) {
                    fs.writeFile(fileDescriptor, stringData, function (err) {
                        if (!err) {
                            fs.close(fileDescriptor, function (err) {
                                if (!err) {
                                    callBack(true);
                                } else {
                                    callback('Err in closing existing file');
                                }
                            });
                        } else {
                            callback('Error updating to existing file');
                        }
                    });

                } else {
                    callback('Err truncating file');
                }
            });
    } else{
        callBack('Cannot Update the file, it may not exist yet');
    }
});
};

the error is actually, when we run the postman, it is keep sending the 'sending the request' but never ending; but the file is updated

Oh! My goodness !!! I just noticed have u notice I have written "callback" as "callBack" in 2 place. and I jst made it as "callback" instead of any caps... after editing 'callback' in fs.open (bottom else for err msg of 'file may not exist yet'), then postman works, file updated. DONE!

Then when I also change the 'callBack' in fs.close (if no err), then it again sending the reuqest, but not even updating...?

Can someone explain the logic here? Is this matter of NodeJs version ? Food For Learning

dcjayasuriya2020 avatar Jan 24 '21 00:01 dcjayasuriya2020

I am having a similar problem 'callback is not defined' ... I tried changing it to console.log('false') it logs false and keeps running even after file is updated. What am I missing?

leskeylevy avatar Mar 22 '21 00:03 leskeylevy