我正在研究如何在节点中编写文件,我发现了以下代码块:
var fs = require('fs');
fs.writeFile("/tmp/test", "Hey there!", function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});现在,在if(err){}块中,这个console.log(err)返回到哪里?节点中的错误处理是如何工作的?
发布于 2016-01-27 23:01:00
实际上,它只会破坏回调的逻辑链。
错误提交节点主要是基于回调的,如您在这里看到的。
例如:
var fs = require('fs');
fs.writeFile("/tmp/test", "Hey there!", function(err) {
if (err) {
/* Handle error appropriately */
} else {
/* Code that relies on /tmp/test to exist. */
}
});发布于 2016-01-27 22:57:46
因此,基本上,您是对fs.writeFile说,当它完成时调用一个函数
function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
}通常,回调并不关心您返回的内容,因此在您编写的错误情况下返回意味着代码不会继续运行,因此不会打印第二个console.log。
https://stackoverflow.com/questions/35049608
复制相似问题