fs.appendFile
将回调函数作为第三个参数。此参数不能为空。但为什么?如果我只是将一些文本扔到日志文件中,那么我不在乎等待该文本完成,因此我的用例没有“回调”。
只是想知道为什么没有将其实现为可选。
答案 0 :(得分:6)
因为可能发生错误,并且可以将这些错误报告给您的代码的唯一方法是调用回调,并且期望您的代码(例如,通过Node.js API)能够处理发生错误的可能性。>
如果希望通过传递无操作功能来忽略错误,但是通过要求回调,API不鼓励只考虑发生错误的可能性。
通常,Node.js的Pre-Promises API始终如一地工作:异步完成其工作的函数将接受回调,并以错误作为第一个参数(如果出现问题)或null
调用该回调。作为第一个参数(如果工作成功)。 fs.appendFile
只是一个例子。