2016-09-26 3 views
1

다음 코드는 잘 작동 :ES6 구문 :이 오류는 무엇입니까? .catch (err => throw err);

내가 같은 다시 포맷 할 때 노드에 오류가 발생하지만
pool.getConnection() 
    .then((conn)=>{ 
     // something here 
     }) 
     .catch((err) => { 
     throw err; 
    }); 

:

return pool.getConnection() 
    .then((conn) => { 
    //something here 
    }) 
    .then(results => results[0].insertId) 
    .catch(err => throw err); <-- NODE COMPALINS HERE 


$>somefile.js line(190) 
.catch(err => throw err); 
        ^^^^^ 
SyntaxError: Unexpected token throw 

내가 여기서 무엇을 놓치고?

답변

1

화살표 함수 뒤에는 {}을 넣지 않으면 암시 적 return이 표시되는 동작이 있습니다.

그래서 코드는 기본적으로 이것이다 : 당신은 단지 표현을 반환 할 수 있으며, throw처럼 문을 반환 할 수 없습니다

.catch(err => { return throw err; }); 

.

function test(e) { 
 
    return throw e; // syntax error 
 
}

관련 문제