一尘不染

使用异步时,参数列表后语法错误:缺少)

node.js

使用时为什么会出现此错误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:

{ "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" },

阅读 228

收藏
2020-07-07

共1个答案

一尘不染

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

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

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

2020-07-07