Skip to content
← Back to rules

promise/param-names 风格

它的作用

强制 Promise 构造函数使用标准的参数名称。

为什么这是个问题?

确保 new Promise() 实例化时使用 resolvereject 作为参数名称,以避免因顺序混淆(例如 reject, resolve)而产生的歧义。Promise 构造函数使用 RevealingConstructor 模式。使用与语言规范相同的参数名称可以使代码更加统一且更易理解。

示例

此规则的 错误 代码示例:

javascript
new Promise(function (reject, resolve) {
  /* ... */
}); // 错误的顺序
new Promise(function (ok, fail) {
  /* ... */
}); // 非标准的参数名称

此规则的 正确 代码示例:

javascript
new Promise(function (resolve, reject) {});

配置

此规则接受一个配置对象,包含以下属性:

rejectPattern

type: string

用于验证 reject 参数名称的正则表达式模式。如果提供,则使用该模式替代默认的 ^_?reject$ 检查。

resolvePattern

type: string

用于验证 resolve 参数名称的正则表达式模式。如果提供,则使用该模式替代默认的 ^_?resolve$ 检查。

如何使用

通过配置文件或 CLI 启用此规则,可以使用:

json
{
  "plugins": ["promise"],
  "rules": {
    "promise/param-names": "error"
  }
}
bash
oxlint --deny promise/param-names --promise-plugin

参考资料