34

我在 ESLINT 上的异步使用中收到以下错误。

eslint 解析错误:带有异步的意外令牌函数

这是我的eslintsrc

{
  "extends": "airbnb-base",
  "rules": {
    "no-console": "off",
    "func-style":"error",
    "import/no-extraneous-dependencies": ["error", {"devDependencies": false, "optionalDependencies": false, "peerDependencies": false, "packageDir": "./"}]
},
"parserOptions": {
  "ecmaVersion":8
 }
}

更新

这是我的异步

const get = async function get(req, res) {
  const user = await service.get();
  console.log("From db",user.username);
  res.send('ok');
};
4

4 回答 4

103

我也遇到了这个错误,我在我的 eslintrc 中添加了以下内容:

{
  "env": {
    "node": true,
    "es6": true
  },

  "parserOptions": {
    "ecmaVersion": 8
  }
}
于 2018-12-21T11:25:01.703 回答
6

就我而言,当我刚从以下位置更改时,它得到了修复:

“parserOptions”:{“ecmaVersion”:8}

“parserOptions”:{“ecmaVersion”:2018 }

于 2019-12-26T18:15:03.187 回答
0

这是一个关于func-style. 默认情况下,它使用 type expression,使用 this 表示函数的正确方法expression是:

const get = async get(req, res) {
  const user = await service.get();
  console.log("From db",user.username);
  res.send('ok');
};

检查文档以获取更多示例,https://eslint.org/docs/rules/func-style

更新:忘记看到您添加了错误,您所做的是正确的,

const get = async function get(req, res) {
  const user = await service.get();
  console.log("From db",user.username);
  res.send('ok');
};

只需func-style从 eslint 中删除。

于 2018-05-11T06:26:07.790 回答
-3

如果您是该项目的新手,我建议您返回承诺 :)

function openTabs(array) {
    return new Promise((resolve, reject) => {
        //... your code
    });
}
于 2020-06-23T14:16:39.557 回答