2017-01-14 1 views
0

내가 lodash와 시도의 catch 블록을 교체 해봤 아니다 '_.attempt() 내 서버 코드를 정리하는 일부_.attempt()가 시도 오류를 반환/캐치

let target = (_.attempt(fs.statSync("path")));
은 try/잡기에 상응 내가뿐만 아니라 비동기 버전으로 시도했습니다

하지 않을 때 잘못은 나에게 분명하지 않다 내가) (_.attempt 사용하고있는 경우

는 오류를 반환 제안?

답변

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()이 처리 할 수없는 오류가 발생합니다.

+0

설명 후에 설명서를 다시 살펴보면 매우 분명합니다. 설명을 해 주셔서 감사합니다. –

+0

원본과 비슷한보다 간단한 내용 :'let target = _.attempt (fs.statSync, "path"); ' – jmmygoggle

+0

@jmmygoggle - 감사합니다. 답변에 추가되었습니다. –