7

我正在尝试将包含用户身份验证数据的文件写入磁盘。为此,我编写了以下函数:

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();
    }
  });
}

但它从不调用回调。我查看了nodeJS 文档fs这一切似乎都已签出。此外,所有其他异步执行似乎都已停止。

这是我第一次在 nodeJS 中开发一些严肃的东西,所以我在这个环境中的经验并不多。

4

3 回答 3

2

您的代码看起来不错,我只需调用即可复制和粘贴并运行它writeAuthFile({test: 1});,文件auth.json已创建。那么,mb错误更高?console.log在行后添加var fs = require('fs');并测试。

于 2015-02-16T15:56:44.337 回答
0

我唯一看到的是,如果失败,它会尝试记录“错误”而不是“错误”

if(error) {
    console.log('[write auth]: ' + err); //<-this should be "error" and not "err"
于 2018-05-27T21:14:59.840 回答
0

如果文件已经存在,则没有参数回调。并且承诺在成功时无需争论即可解决。如果您想检查文件是否已存在,请使用文件句柄的另一个功能,然后使用 writefile。在此处输入图像描述 在此处输入图像描述

于 2021-03-12T18:24:24.220 回答