Javascript 意外标识符-JS节点

Javascript 意外标识符-JS节点,javascript,node.js,function,asynchronous,Javascript,Node.js,Function,Asynchronous,我在一个.js文件中找到了下一个代码 const { User } = require('../models') module.exports = { async register (req, res) { try { const user = await User.create(req.body) res.send(user.toJSON()) } catch (err) { res.status(400).send({

我在一个.js文件中找到了下一个代码

const { User } = require('../models')

module.exports = {
  async register (req, res) {
    try {
      const user = await User.create(req.body)
      res.send(user.toJSON())
    } catch (err) {
      res.status(400).send({
        error: 'Email de cuenta ya esta en uso'
      })
    }
  }
}
当我运行我的节点应用程序时,我得到了错误

  async register (req, res) {
        ^^^^^^^^ 
SyntaxError: Unexpected identifier
我不知道我错过了什么

module.exports = {
  register:  async (req, res) => {
    try {
      const user = await User.create(req.body)
      res.send(user.toJSON())
    } catch (err) {
      res.status(400).send({
        error: 'Email de cuenta ya esta en uso'
      })
    }
  }
}
如果要使用类,请使用相同的语法:

module.exports = class MyClass {
  async register(req, res) {
        try {
          const user = await User.create(req.body)
          res.send(user.toJSON())
        } catch (err) {
          res.status(400).send({
            error: 'Email de cuenta ya esta en uso'
          })
        }
  }

}

我已经解决了更新节点版本的问题 from:v6.9.5 至:v8.12.0

我想卸载我的旧节点版本(它在c:/laragon/bin/node上,左边是从c:/program files(x86)/nodejs上的官方msi安装程序节点安装的)


感谢@jfriend00的评论

这是一种新的编写代码的方法吗?因为我在遵循Freecodecamp.org的教程,他编写了我在PostToAdd中编写的代码。OP正在尝试导出一个对象,它需要
key:value
对,如上所示。因此,我上面编写的代码无法工作?。我这么说是因为ESM6中有些东西发生了变化,等等。你可以像以前那样编写,但你需要使用一个类。我像你那样编辑了我的代码,我得到了以下错误
解析错误:行
寄存器上的意外标记{
:async(req,res){
@jfriend00您能回答澄清评论的帖子吗?您运行的是node.js的哪个版本?node:v6.9.5 NPM:v3.10.10根据此图表,node 6.x似乎根本不支持
异步
。您需要node v7.10或更高版本。