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

时间:2019-02-12 17:53:25

标签: javascript node.js

fs.appendFile将回调函数作为第三个参数。此参数不能为空。但为什么?如果我只是将一些文本扔到日志文件中,那么我不在乎等待该文本完成,因此我的用例没有“回调”。

只是想知道为什么没有将其实现为可选。

1 个答案:

答案 0 :(得分:6)

因为可能发生错误,并且可以将这些错误报告给您的代码的唯一方法是调用回调,并且期望您的代码(例如,通过Node.js API)能够处理发生错误的可能性。

如果希望通过传递无操作功能来忽略错误,但是通过要求回调,API不鼓励只考虑发生错误的可能性。

通常,Node.js的Pre-Promises API始终如一地工作:异步完成其工作的函数将接受回调,并以错误作为第一个参数(如果出现问题)或null调用该回调。作为第一个参数(如果工作成功)。 fs.appendFile只是一个例子。