javascript - 哪个 ESLint 规则适用于 Promise/Arrow 函数缩进?

标签 javascript eslint

我有以下代码片段:

const enclosing = () => {
  const setClaim = (userId, claim) => {
    client
      .setClaim({ userId, claim })
      .then(() => {
          // do something

          return resolve(true);
        }, // eslint complains about this line
        err => reject(err)
      );
  });
};

ESLint 提示上面标记的行如下:

139:9   error  Expected indentation of 6 spaces but found 8                  indent

哪个 indent 规则对象选项在这里适用(必须更改),因为我想保持缩进不变?

我不想使用 eslint-disable-line 抑制 ESLint 错误,因为这对我来说是一个全局(适用于我所有被检查的代码)问题。

最佳答案

如果您像我一样来到这里寻找 Promise Indent 答案(请参阅标题)... ESLint Indent rules 的 MemberExpression 部分可能会有帮助。成员表达式“强制多行属性链的缩进级别”。

您可以通过在 .eslintrc.js 文件中将 "MemberExpression" 设置为 "Off" 来关闭检查链接方法的缩进.

rules: {
  'indent': ['error', 4, { 'MemberExpression': 'off'}]
}

将 MemberExpression 设置为“off”后,您可以缩进或排列您的 promise 。

排队

client
.setClaim({ userId, claim })
.then(resolve(true), reject)

缩进

client
    .setClaim({ userId, claim })
    .then(resolve(true), reject)

关于javascript - 哪个 ESLint 规则适用于 Promise/Arrow 函数缩进?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44271554/

相关文章:

javascript - 如何使用偏移路径 CSS 属性从其原始位置偏移 SVG 路径

javascript - eslint 规则强制变量在 block 的顶部声明?

javascript - 循环直到 Promise 函数给出结果

javascript - 页面加载后滚动条不调整大小

javascript - 如何在没有 this 关键字的类中创建方法来返回组件?

javascript - 数组 forEach() 与 reduce()

javascript - 带有 Airbnb 风格指南的 ESLint 不适用于所有规则

javascript - 预期在带有 if 语句的箭头函数末尾返回一个值

javascript - 正则表达式查找大括号内的字符串Javascript

javascript - 使用 socket.io 进行客户端实时更新