意外的令牌异步()

时间:2017-11-22 12:16:16

标签: node.js async-await sails.js n

我遇到一个奇怪的问题,因为我的代码在Ubuntu和Windows机器上工作正常并且在Centos服务器中失败了。我有相同的节点版本8.9.1和相同的npm 5.5.1和相同的帆1.0.0.41(全局和本地)。一切正常,除了我的Centos机器,我得到了

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

箭头指向第一个paren。我目前唯一怀疑的是我的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);
});

有关如何解决此错误的任何建议?

3 个答案:

答案 0 :(得分:5)

问题是版本管理。

node -v给了我8.9.1 sudo node -v给了我6.11

解决方案是为我的用户(而不是root)chown文件夹,并运行没有sudo的应用程序。然后NVM正常工作。接受另一个答案,因为我的代码中存在错误。

答案 1 :(得分:3)

代码中缺少}。请查看以下

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);
});

<强>被修改

OP的回应

  

问题是版本管理。

     

node -v给了我8.9.1 sudo node -v给了我6.11

     

解决方案是为我的用户(而不是root)chown文件夹,   并运行没有sudo的应用程序。 NVM然后正常工作。   接受另一个答案,因为我的代码中存在错误。

答案 2 :(得分:0)

有类似的问题,

我也尝试过sudo npm install,首先导致以下错误, 并导致异步意外令牌错误。

npm WARN checkPermissions Missing write access to /home/mohanbabu/node_modules
npm WARN enoent ENOENT: no such file or directory, open '/home/mohanbabu/package.json'
npm WARN mohanbabu No description
npm WARN mohanbabu No repository field.
npm WARN mohanbabu No README data
npm WARN mohanbabu No license field.
npm ERR! path /home/mohanbabu/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/home/mohanbabu/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/home/mohanbabu/node_modules'
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/home/mohanbabu/node_modules\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/home/mohanbabu/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/mohanbabu/.npm/_logs/2019-10-13T16_51_12_932Z-debug.log
  

(async()=> {            ^ SyntaxError:意外令牌(       在createScript(vm.js:56:10)       在Object.runInThisContext(vm.js:97:10)       在Module._compile(module.js:549:28)       在Object.Module._extensions..js(module.js:586:10)       在Module.load(module.js:494:32)       在tryModuleLoad(module.js:453:12)       在Function.Module._load(module.js:445:3)       在Module.runMain(module.js:611:10)       运行时(bootstrap_node.js:394:7)       在启动时(bootstrap_node.js:160:9)

  1. 删除软件包锁定并运行npm install是解决方法。(不使用sudo)
  2. 检查您的节点版本
  3. 运行js脚本(对于我的项目npm start)