Node.js Nodejs返回控制台.log(';…';)?

Node.js Nodejs返回控制台.log(';…';)?,node.js,Node.js,我正在研究如何在node中编写文件,发现了以下代码块: 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)被返回到哪里?节点中

我正在研究如何在node中编写文件,发现了以下代码块:

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)
被返回到哪里?节点中的错误处理是如何工作的?

因此,基本上,您是对
fs.writeFile
说,当完成调用函数时

function(err) {
    if(err) {
        return console.log(err);
    }
    console.log("The file was saved!");
}

通常回调并不关心您返回的内容,因此如果您在那里写入错误,则返回意味着代码不会继续,因此第二个
控制台.log
不会被打印出来。

它基本上什么也不做,只是打破了回调的逻辑链

错误处理节点主要是基于回调的,如图所示

例如:

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. */
  }
});

此时的
返回
,只会阻止回调中的其他代码执行。is不会返回到任何地方。“通常回调不关心您返回的内容”是有用的额外信息。谢谢:)