许多回调函数首先检查err
参数,如下所示:
function myCallback(err, result) {
if ( err ) {
// Handle error
...
}
...
}
if (err)
测试验证了什么?是否检查对象是否为null
?它会检查它是undefined
吗?不应该对instanceof Error
进行一次测试吗?该测试何时返回true
?
答案 0 :(得分:1)
在Node.js世界中,回调函数具有以下签名
function(error, result){}
如果没有错误,则error
参数通常设置为null
,否则设置为相应的错误对象。
因此,检查if (err)
检查我们是否确实有错误情况。如果err
对象为null
,则检查将失败(因为null
是假的)否则将执行错误处理代码。
不应该为一个错误测试吗?
它不一定是Error
对象的实例。我们甚至可以将对象文字作为错误对象或甚至表示错误数组的数组传递。
是否检查对象是否为空?是否检查是否未定义?
如果错误对象为null
或undefined
,则测试将评估为假。