Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么必须向fs.appendFile提供回调?_Javascript_Node.js - Fatal编程技术网

Javascript 为什么必须向fs.appendFile提供回调?

Javascript 为什么必须向fs.appendFile提供回调?,javascript,node.js,Javascript,Node.js,appendFile将回调函数作为第三个参数。此参数不能为null。但是为什么呢?如果我只是向日志文件抛出一些文本,我不在乎等待它完成,并且我的用例没有回调 只是想知道为什么它不是可选的。因为可能会发生错误,而向代码报告这些错误的唯一方法是调用回调,而您的代码(例如Node.js API)需要处理错误发生的可能性 如果您想忽略错误,可以通过传入一个no-op函数,但是通过要求回调,API不鼓励只忽略错误发生的可能性 一般来说,Node.js的pre Promissions API工作一致:异步完

appendFile将回调函数作为第三个参数。此参数不能为null。但是为什么呢?如果我只是向日志文件抛出一些文本,我不在乎等待它完成,并且我的用例没有回调


只是想知道为什么它不是可选的。

因为可能会发生错误,而向代码报告这些错误的唯一方法是调用回调,而您的代码(例如Node.js API)需要处理错误发生的可能性

如果您想忽略错误,可以通过传入一个no-op函数,但是通过要求回调,API不鼓励只忽略错误发生的可能性


一般来说,Node.js的pre Promissions API工作一致:异步完成其工作的函数接受回调,并在出现错误时以错误作为第一个参数调用该回调,在工作成功时以null作为第一个参数调用该回调。fs.appendFile就是一个例子。

然后只传递一个函数,让它什么都不做。更可能的错误是没有意识到该方法是异步的。我不理解这里的否决权。这是一个非常合理的问题,而且问得非常清楚和完整。谢谢@T.J.Crowder,我认为这是一个合理的问题。在我看来,大多数回调都应该是可选的,并提供一个无操作函数,因为回调看起来很草率。我理解所有这些,但仍然不同意它应该是必需的。我仍然可以通过提供错误的回调来编写错误的代码——API无法阻止我这样做@乔希姆这是真的,可悲的是,这太普遍了我同意他们的决定,但我理解你为什么不同意。