2014-07-15 3 views
0

많은 콜백 함수가 다음과 같은 err 매개 변수를 확인하여 시작합니다Javascript에서 'if (err)'테스트가 정확히 무엇입니까?

function myCallback(err, result) { 

    if (err) { 

     // Handle error 
     ... 

    } 

    ... 

} 

if (err) 테스트를 검증을 무엇? 객체가 null인지 여부를 확인합니까? undefined인지 확인합니까? instanceof Error을 테스트하지 않아야하나요? 이 테스트는 언제 true을 반환합니까? 다음 error 매개 변수가 종래 ​​null로 설정, 오류가없는 경우

답변

1

Node.js를 세계에서 콜백 기능은 다음과 같은 서명을, 그렇지 않으면 해당 오류 개체를

function(error, result){} 

있습니다.

그래서 if (err)은 실제로 오류 상황이 있는지 확인합니다. err 오브젝트가 null이면 확인이 실패합니다 (null이 위조 됨). 그렇지 않으면 오류 처리 코드가 실행됩니다.

instanceof 오류를 테스트해야하지 않습니까?

반드시 Error 개체의 인스턴스 일 필요는 없습니다. 객체 리터럴을 오류 객체 또는 심지어 오류 배열을 나타내는 배열로 전달할 수도 있습니다.

개체가 null인지 여부를 확인합니까? 정의되지 않았는지 확인합니까?

이 테스트는 오류 객체가 null 또는 undefined 인 것으로 평가합니다.

관련 문제