编程语言
首页 > 编程语言> > javascript – SyntaxError:missing)参数列表之后,当使用async时

javascript – SyntaxError:missing)参数列表之后,当使用async时

作者:互联网

为什么我在使用异步时遇到此错误?

我的代码:

bot.onText(/\/start/, async  msg => {
  const opts = {
    parse_mode: 'Markdown' ,
    reply_markup: JSON.stringify({
      keyboard: StartKeyboard,
      resize_keyboard: true,
      one_time_keyboard: true
    })
  };
  await bot.sendMessage(msg.chat.id, 'Hi', opts);
});

错误:

bot.onText(/\/start/, async  msg => {
                      ^^^^^
SyntaxError: missing ) after argument list

我正在使用node.js v6.11.0和“dependencies”:

{ "babel-polyfill": "^6.23.0",
  "cheerio": "^1.0.0-rc.2",
  "dotenv": "^4.0.0",
  "firebase": "^4.1.2",
  "firebase-admin": "^5.0.0",
  "node-telegram-bot-api": "^0.27.1",
  "request": "^2.81.0" },

解决方法:

您的NodeJS版本(6.11 LTS)太旧,不支持async / await功能.语法错误是Javascript解释器无法识别异步令牌并对参数感到困惑的结果.

升级到NodeJS 7.6或更高版本. https://www.infoq.com/news/2017/02/node-76-async-await

在以前的版本中,执行异步行为的唯一方法是使用promises.

标签:telegram-bot,javascript,node-js,async-await
来源: https://codeday.me/bug/20191004/1853463.html