_.attempt()返回错误,其中try / catch不是

时间:2017-01-14 00:27:37

标签: javascript node.js lodash

我尝试用lodash'_.attempt()替换try catch块来清理我的服务器代码

let target = (_.attempt(fs.statSync( "path" ) ) );

当try / catch等效项不是

时,

返回错误

我也尝试过asynch版本,如果我正在使用_.attempt()错误,我不清楚建议吗?

1 个答案:

答案 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()无法处理的错误。