当前位置: 首页 > 面试题库 >

需要正确的eslintrc用于异步/等待-使用7.6+ nodejs

司马宏邈
2023-03-14
问题内容

使用最新版本的nodejs 7.6+,我开始使用async / await。

我使用的是jshint,但据我所知,它们目前确实支持此语法,有些建议使用eslint。

所以好吧,我设置了eslint,但是argh ..它也标记了异步功能。
Parsing error: Unexpected token init (Fatal)

我知道这没什么错,因为我的代码运行良好,仅是linter。如果我注释掉一个异步功能,它也只会标记下一个。实际上eslint仅标记发现此错误的第一个异步,而不是全部标记(这是怎么回事?)

这是使用初始化向导制作的eslintrc文件。我希望只是请求node和es6的env就足够了……显然不是。

module.exports = {
    "env": {
        "es6": true,
        "node": true
    },
    "extends": "eslint:recommended",
    "rules": {
        "indent": [
            "error",
            "tab"
        ],
        "linebreak-style": [
            "error",
            "unix"
        ],
        "quotes": [
            "error",
            "single"
        ],
        "semi": [
            "error",
            "never"
        ]
    }
};

解决方法是什么?

我尝试了.eslintrc的多个版本,甚至看到eslint回购中存在一些相关问题,但是没有一个问题可以帮助我解决此问题。我不认为只是缺少一些有关使用commonjs(无babel)为本地nodehtml" target="_blank">js正确设置eslint的错误。

谁知道即使我没有使用babel,也许需要babel插件才能使这项工作正常???如果是这样,我该如何设置。


问题答案:

由于async/ await是ES2017功能,因此需要将其添加到您的.eslintrc.js

module.exports = {
    // ...
    "parserOptions": {
        "ecmaVersion": 2017
    },
    // ...
}


 类似资料:
  • 问题内容: 在我的程序中,我从另一个API模块调用了我的函数: 模块代码: 执行立即返回,但是,并因此包含请求对象和请求体- 样,不需要响应体。 我做错了什么?怎么修?正确的用法是什么,或仅与此处提到的Promise一起正确使用:为什么await对于节点请求模块不起作用?以下文章提到了可能的方法:在Node.js中掌握Async Await 。 问题答案: 您需要使用模块,而不是模块或。 对返回p

  • 我有一组从基类继承的命令。基类有以下声明: 此异步方法缺少“await”运算符,将同步运行。考虑使用'await'运算符来等待非阻塞API调用,或者使用'await task.run(...)'在后台线程上执行CPU绑定的工作。 显式提供任务完成返回值是否正确?

  • 我试图用Firebase函数做一个理论上相对简单的函数。 具体地说: > 向所有用户的实时数据库变量添加 向所有用户发送通知 我仍然在努力理解/,这可能就是为什么我在这个问题上如此纠结的原因。 我正在做的是: 然后就有了: 和函数: 我当前得到的错误是: “Await”表达式仅允许在异步函数中使用。 const devices=await devicesref.get(); 但即使我得到它没有错误

  • 问题内容: 给出以下代码: 产生以下错误: TS2322:类型’Promise []’无法分配给类型’number []’。类型’Promise 不可分配给类型’number’。 我该如何解决?怎样才能让和一起工作? 问题答案: 这里的问题是,您正在尝试兑现承诺而不是承诺。这没有达到您的期望。 当传递给的对象不是Promise时,只需立即按原样返回值,而不是尝试解析它。因此,由于您在此处传递了(P

  • 下面的函数在for循环中调用几个异步函数。它解析不同的CSV文件来构建单个JavaScript对象。我想在for循环完成后返回对象。它在执行异步任务时立即返回空对象。有道理,但是我尝试了各种Promise/异步 /await组合,希望在for循环完成后运行一些东西。我显然不明白发生了什么。对于这样的事情,有更好的模式吗?还是我想错了? 这是我用来调用函数的代码,希望用CSV数据填充我的“retCo

  • 我想进行一个基于当前状态的API调用,但不能使setState函数作为异步函数工作。 给我错误: 类型为“”的参数(状态:只读)= 如果我在setState方法之外获取数据,它会起作用,但我害怕对过时的页码进行API调用: