fs.writeFile() 不 return 回调
fs.writeFile() doesn't return callback
我正在尝试将包含用户身份验证数据的文件写入磁盘。为此,我编写了以下函数:
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 docs 与 fs
的关系,似乎一切正常。此外,所有其他异步执行似乎都已停止。
这是我第一次在 nodeJS 中开发一些严肃的东西,所以我在这个环境中的经验并不多。
您的代码看起来不错,我通过简单地调用 writeAuthFile({test: 1});
复制粘贴并 运行 它,创建了文件 auth.json
。
那么,mb 错误更高?
在 var fs = require('fs');
行后添加 console.log
并测试。
我唯一看到的是,如果失败,它会尝试记录 "err" 而不是 "error"
if(error) {
console.log('[write auth]: ' + err); //<-this should be "error" and not "err"
如果文件已经存在,则没有参数回调。承诺得到解决,没有关于成功的争论。如果您想检查文件是否已经存在,请使用文件句柄的另一个函数,然后使用 writefile。
我正在尝试将包含用户身份验证数据的文件写入磁盘。为此,我编写了以下函数:
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 docs 与 fs
的关系,似乎一切正常。此外,所有其他异步执行似乎都已停止。
这是我第一次在 nodeJS 中开发一些严肃的东西,所以我在这个环境中的经验并不多。
您的代码看起来不错,我通过简单地调用 writeAuthFile({test: 1});
复制粘贴并 运行 它,创建了文件 auth.json
。
那么,mb 错误更高?
在 var fs = require('fs');
行后添加 console.log
并测试。
我唯一看到的是,如果失败,它会尝试记录 "err" 而不是 "error"
if(error) {
console.log('[write auth]: ' + err); //<-this should be "error" and not "err"
如果文件已经存在,则没有参数回调。承诺得到解决,没有关于成功的争论。如果您想检查文件是否已经存在,请使用文件句柄的另一个函数,然后使用 writefile。