我对Node.js还是相当陌生,但有很多奇怪之处,但我有很多基于浏览器的JS经验,这使我感到困惑:
function saveUsers(dest, data) {
console.log(dest, data);
try {
fs.writeFile(dest, JSON.stringify(data), function (err) {
console.log("jsonfile.writeFile callback");
});
} catch (e) {
console.log(e)
}
}
“ C:\ Program Files \ nodejs \ node.exe” C:\ Users \ KiiLLa \ projects \ rowboat \ node_modules \ mocha \ bin_mocha --ui bdd --reporter C:\ Users \ KiiLLa \ AppData \ Local \ JetBrains \ Toolbox \ apps \ WebStorm \ ch-0 \ 181.5281.31 \ plugins \ NodeJS \ js \ mocha-intellij \ lib \ mochaIntellijReporter.js C:\ Users \ KiiLLa \ projects \ rowboat \ test \ ModUsersTest.js --grep “ saveUsers()”
testOutputmpVW3b / test.file.json {test:'json',object:''}
以退出代码0结束的过程
C:\Users\KiiLLa\projects\rowboat>npm -v
3.10.10
无论我做什么,都无法调用writeFile
回调。我在调试器中一直跟踪到fs.js:632,即binding.open
的{{1}}调用。
这不允许我更深入地研究,但是在每个阶段,参数似乎都很好,没有异常,文件写得很好,调用就完成了。回调永远不会被调用...
任何人都可以提出这里的问题吗?