我尝试用lodash'_.attempt()替换try catch块来清理我的服务器代码
let target = (_.attempt(fs.statSync( "path" ) ) );
当try / catch等效项不是时,
返回错误
我也尝试过asynch版本,如果我正在使用_.attempt()错误,我不清楚建议吗?
答案 0 :(得分:3)
Lodash的_.attempt()
期望一个函数作为第一个参数调用,函数的参数作为第二个参数:
let target = _.attempt(function(path) {
fs.statSync(path);
}, "path");
或缩短版本建议使用jmmygoggle's comment:
let target = _.attempt(fs.statSync, "path");
而不是调用方法,而是传递了fs.statSync("path")
的结果,这会引发_.attempt()
无法处理的错误。