提问人:Kevin 提问时间:4/3/2022 更新时间:4/3/2022 访问量:248
使用 Promise.map unicorn/no-array-method-this-argument 的 XO lint 问题
XO Lint Issue Using Promise.map unicorn/no-array-method-this-argument
问:
我正在使用 XO 对我的代码进行 lint 检查,但我无法弄清楚为什么以下代码会报告此 lint 错误......
import Promise from 'bluebird';
const handler = items => {
return Promise.map(items, item => {
return Promise.resolve(item);
});
};
export default handler;
当我将其保存到 lint-test.js,然后运行以下命令时...
npx xo lint-test.js
我收到此错误...
lint-test.js:4:29
✖ 4:29 Do not use the this argument in Array#map(). unicorn/no-array-method-this-argument
1 error
此规则的参考在这里...https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-array-method-this-argument.md
我一定错过了一些简单的东西。我知道这是一个过于简化的例子,但当然,在我的实际代码中,我正在用“项目”做一些更有趣的事情。
答:
0赞
Bergi
4/3/2022
#1
您正在调用一个命名的方法并传递多个参数 - 这就是规则所寻找的全部内容。ESlint 规则不理解这是 bluebird 库,但认为它是一个数组,并且您正在调用 Array map
方法,其中第二个参数用于 this
参数(警告说您不应该使用该参数)。.map
Promise
这是一个误报。
从设置中删除该规则,忽略该行的规则,或创建 PR 以添加例外作为方法调用的接收者。Promise
评论