2017-11-22 19 views
3

내 코드가 우분투 및 Windows 컴퓨터에서 제대로 작동하고 있으며 Centos 서버에서 오류가 발생하여 이상한 문제가 있습니다. 동일한 노드 버전 8.9.1 및 동일한 npm 5.5.1 및 동일한 돛 1.0.0.41 (전역 및 로컬)이 있습니다. 모든 것은 내 Centos 머신을 제외하고 작동합니다예기치 않은 토큰 async()

const makeRequest = async() => { 
         ^
SyntaxError: Unexpected token (

첫 번째 괄호를 가리키는 화살표가 있습니다. 현재 내가 생각하는 유일한 점은 내 N 버전 관리가 노드를 제대로 업데이트하지 못했다는 것입니다. 노드 -v 보고서 실행 8.9.1. 이 오류를 해결하는 방법에 대한

const makeRequest = async() => { 
    try{ 
    const user = await sails.models.user.findOne({id: user_id}); 
    return Promise.resolve(user); 
    } 
    catch(error){ 
    sails.log.error('error getting data', error); 
    } 
} 

return makeRequest().then(out => { 
    return Promise.resolve(out); 
}); 

어떤 제안 : 여기에 비동기 코드의 단순화 된 컷은?

답변

2

코드에 }이 누락되었습니다. 이 문제는 버전 관리이었다 편집

영업 이익의 응답

const makeRequest = async() => { 
 
    try { 
 
    const user = await sails.models.user.findOne({ 
 
     id: user_id 
 
    }); 
 
    return Promise.resolve(user); 
 
    } catch (error) { 
 
    sails.log.error('error getting data', error); 
 
    } 
 
} // -> Its misssing in your code 
 
return makeRequest().then(out => { 
 
    return Promise.resolve(out); 
 
});

아래에서 확인하십시오. 나에게 나 6.11

에게 해결책을 준 -v 8.9.1 sudo는 노드를 준 -v

노드는 대한 Chown 내 사용자를위한 폴더 (보다는 루트), 와 sudo를하지 않고 응용 프로그램을 실행하는 것이 었습니다. 그러면 NVM이 올바르게 작동합니다. 내 코드에 오류가 있었으므로 다른 대답을 수락합니다.

+0

이것은 사실입니다, 불행히도 내 단순한 샘플 코드 였고 실제 코드가 아니 었습니다. 답변에 투표하고 누락 된 닫는 중괄호를 포함하도록 내 질문을 편집했습니다. – edencorbin

+0

nvm을 사용하고 있습니까? –

+0

아니요, N을 사용하고 있습니다. 대신 nvm을 사용해야합니까? – edencorbin

5

문제는 버전 관리입니다.

node -v

은 8.9.1 sudo node -v 나에게이 솔루션은 내 사용자에 대한 대한 Chown 폴더 (보다는 루트)에 있었다 6.11

을 준 내게 준, 그리고 sudo는하지 않고 응용 프로그램을 실행합니다. 그러면 NVM이 올바르게 작동합니다. 내 코드에 오류가 있었으므로 다른 대답을 수락합니다.