【发布时间】:2014-01-10 22:00:31
【问题描述】:
我正在使用一个文件来存储 JSON 数据。我的模块对文件进行 CRUD 操作,我使用 require() 加载 json,而不是 fs.readFile()。问题是,如果文件被删除,使用fs.unlink(),然后使用require 再次调用文件仍然加载文件......刚刚被删除。我有点迷失如何解决这个问题,可能是#garbage-collection?
例子:
fs.writeFile('foo.json', JSON.stringify({foo:"bar"}), function(){
var j = require('./foo.json')
fs.unlink('./foo.json', function(){
console.log('File deleted')
var j = require('./foo.json')
console.log(j)
})
})
【问题讨论】:
-
require用于稳定文件,它仍然显示,因为它在浏览器缓存中。所以你的选择是:1.破坏缓存,2.改用fs.readFile()。我的投票是后者。 -
在这里同意你的看法。认为我希望减少回调地狱比其他任何事情都重要。 @RobertHarvey 你想把它作为答案,我会检查它
标签: node.js garbage-collection