Javascript 意外的令牌语法错误,我看不到

Javascript 意外的令牌语法错误,我看不到,javascript,syntax-error,react-server,Javascript,Syntax Error,React Server,谢谢你看。这是我得到的语法错误: [0] /Users/alexkarasik/Documents/server/services/passport.js:26 [0] async (accessToken, refreshToken, profile, done) => { [0] ^ [0] SyntaxError: Unexpected token ( 这就是错误引用的文件。我已经上下查看了两个多小时,发现没有任何理由出现此错误: const passport = re

谢谢你看。这是我得到的语法错误:

[0] /Users/alexkarasik/Documents/server/services/passport.js:26
[0] async (accessToken, refreshToken, profile, done) => {
[0]       ^
[0] SyntaxError: Unexpected token (
这就是错误引用的文件。我已经上下查看了两个多小时,发现没有任何理由出现此错误:

const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20').Strategy;
const mongoose = require('mongoose');
const keys = require('../config/keys');

const User = mongoose.model('users');

passport.serializeUser((user, done) => {
  done(null, user.id);
});

passport.deserializeUser((id, done) => {
  User.findById(id)
    .then(user => {
      done(null, user);
    })
});

passport.use(
  new GoogleStrategy({
    clientID: keys.googleClientID,
    clientSecret: keys.googleClientSecret,
    callbackURL: '/auth/google/callback',
    proxy: true
  },
async (accessToken, refreshToken, profile, done) => {
    const existingUser = await User.findOne({ googleId: profile.id });

    if (existingUser){
            //we already have a record with the give profileId
            return done(null, existingUser);
    }
            // we don't have a user record with this ID, make a new record
      const user = await new User({ googleId: profile.id }).save();
      done(null, user);
    }
  )
);

我真的很感谢您的任何意见。

节点只是没有针对较新的ES6语法进行正确更新。更新它解决了这个问题。谢谢你的帮助

对于较新的ES6语法,节点未正确更新。更新它解决了这个问题。谢谢你的帮助

您的服务器是否完全支持ESnext?(特别是异步等待…)@Jonasw可能是对的。您是否有网页配置文件或babelrc设置?@sourRasperri webpack?这与服务器端代码有什么关系?如果你可以简单地更新bodejs,为什么一个巴别塔就应该这么做呢?你可以使用这样的东西回到承诺处理:
(accessToken,refreshtToken,profile,done)=>{User.findOne({googleId:profile.id}).exec()。然后((existingUser)=>{/*[…]*/});}
您试图在什么环境下运行此代码,到底是什么导致此错误?您的服务器是否完全支持ESnext?(特别是异步等待…)@Jonasw可能是对的。您是否有网页配置文件或babelrc设置?@sourRasperri webpack?这与服务器端代码有什么关系?如果你可以简单地更新bodejs,为什么一个巴别塔就应该这么做呢?你可以使用这样的东西回到承诺处理:
(accessToken,refreshtToken,profile,done)=>{User.findOne({googleId:profile.id}).exec()。然后((existingUser)=>{/*[…]*/});}
您试图在什么环境下运行此代码,到底是什么导致此错误?