【发布时间】:2015-08-23 10:40:54
【问题描述】:
我是使用 nodejs 编写聊天日志机器人的新手。它现在工作得很好。几个小时后除外。 机器人为每个用户创建一个文档,如果用户不存在这样的文档,则输入一些内容,如果存在,那么它将把它放在该文件中。 这是我的代码:
fs.open('logs/' + channel.substr(1) + '/' + user.username +'.txt','r',function(err,fd){
if (err && err.code=='ENOENT')
{
fs.writeFile('logs/' + channel.substr(1) + '/' + user.username +'.txt', '[' + 'GMT' + moment().format('Z ') + moment().format('D.M.YYYY H:mm:ss') + '] ' + user.username + ': ' + message + '\n', function (err) {});
} else {
fs.appendFile('logs/' + channel.substr(1) + '/' + user.username +'.txt', '[' + 'GMT' + moment().format('Z ') + moment().format('D.M.YYYY H:mm:ss') + '] ' + user.username + ': ' + message + '\n', function(){});
}
});
问题是在用户聊天几个小时后,新用户的文档最终是空的。继续聊天的老聊天者也不会在他们的文件中添加新行。
我正在使用“graceful-fs”模块,因为我希望它能解决问题,但我认为该模块并没有太大变化。 我究竟做错了什么?为什么我的新 .txt 文件是空的(0 kb 大小)
【问题讨论】:
-
任何机会
err不是空的,也不是ENOENT?