我有一些代码:
foo((error, data) => {
if (error) {
return;
}
// do something with data
});
这将导致返回“一致返回”错误。我了解这是一个自以为是的事情,但是,满足这一规则的合理方法是什么?
我的方法是否正确?我应该使用return有效地在回调主体中“中断”吗?在执行return
行之后是否需要添加一个空的// do something with data
语句?
答案 0 :(得分:0)
一致返回表示您的函数应始终返回相同类型的数据。因此,如果在错误情况下返回undefined
,在其他情况下也应返回undefined
。
foo((error, data) => {
if (error) {
return;
}
return;
});
如果您的函数应该在错误为false时返回数据,则可能您不想返回undefined
并抛出Error
。
foo((error, data) => {
if (error) {
throw new Error()
}
return data; // or anything else
});