VS 代码异步函数和 axios

VS code async function and axios

VS 代码无法识别异步函数并在关键字函数上放置一条波浪线。

它向我抛出一个解析错误,指出意外的令牌函数,但代码编译并运行正常。

async function authorizeMe(url,data,config) {
try {
  let res = await axios.default.post(
            url,
            data,
            config
            );

  return res;
  } catch(err) {
      console.log(err);
  }
};

authorizeMe(url,data,config)
.then(res => console.log(res.data.client_id))
.catch(err => console.log(err))

还有一个问题 axios.post 没有出现在 VSCode 的智能感知中,但 axios.default.post 有效。

我该如何解决这两个问题?

问题可能不在Visual Studio代码中,而更有可能在eslint配置中。

(至少)在linux,你可以在命令行测试eslint:

eslint myfile.js

这应该会产生同样的错误。您可以通过以下方式查看当前设置的 eslint 配置:

eslint --print-config .

检查项目目录或其父目录中的文件 .eslintrc.eslintrc.js.eslintrc.json。在我的例子中,问题似乎是 "ecmaVersion": 6 解析器选项

"parserOptions": {
        "ecmaVersion": 6,
        ...

使用 "ecmaVersion": 8,eslint 在与 async 一起使用时停止抱怨函数 kyword。