Search code examples
node.jsosx-yosemiteappjs

fs.writeFile() doesn't return callback


I'm trying to write a file with the users authentication data to the disk. To achieve this I wrote the following function:

function writeAuthFile(data, success, fail) {
  var fs = require('fs');
  fs.writeFile('auth.json', JSON.stringify(data), function(error) {
    if(error) { 
      console.log('[write auth]: ' + err);
        if (fail)
          fail(error);
    } else {
      console.log('[write auth]: success');
        if (success)
          success();
    }
  });
}

But it never calls the callback. I looked at the nodeJS docs for fs and it all seems to check out. Also all other asynchronous execution seems to have halted.

This is the first time I'm developing something serious in nodeJS so my experience in this environment is not that much.


Solution

  • Your code looks fine, I copy&paste and run it by simply calling writeAuthFile({test: 1});, file auth.json was created. So, mb error somewhere higher? add console.log after var fs = require('fs'); line and test.