_.attempt(func, [args])
_.attempt()
方法尝试调用给定的函数,并返回函数的结果。如果函数调用抛出错误,则返回错误对象。
参数
func
(Function): 要调用的函数。args
(...*): 函数调用的参数。
返回值
(*) 函数调用的结果,或者是抛出的错误对象。
示例
javascript
const result = _.attempt(JSON.parse, '{"x": 1}');
console.log(result);
// => { x: 1 }
const invalidJson = '{"x": 1';
const result2 = _.attempt(JSON.parse, invalidJson);
console.log(result2 instanceof Error);
// => true
在第一个示例中,_.attempt(JSON.parse, '{"x": 1}')
成功地将 JSON 字符串解析为对象,并返回该对象 { x: 1 }
。在第二个示例中,JSON.parse
被尝试调用一个无效的 JSON 字符串,因此函数调用抛出错误,_.attempt()
返回了一个错误对象。