deno.com

no-async-promise-executor

注意: 此规则是 recommended 规则集的一部分。
deno.json 中启用完整规则集
{
  "lint": {
    "tags": ["recommended"]
  }
}
使用 Deno CLI 启用完整规则集
deno lint --tags=recommended

要求不使用异步 promise 执行器函数。

Promise 构造函数接受一个执行器函数作为参数,该函数带有 resolvereject 参数,可用于控制所创建 Promise 的状态。此函数允许是异步的,但这通常不是一个好主意,原因如下:

  • 如果异步执行器函数抛出错误,则该错误将丢失,并且不会导致新构建的 Promise 拒绝。这可能会使调试和处理某些错误变得困难。
  • 如果异步 Promise 执行器函数正在使用 await,那么这通常表明实际上没有必要使用 new Promise 构造函数,并且可以重构代码以避免使用 promise,或者可以缩小 new Promise 构造函数的范围,提取异步代码并将其更改为同步。

无效

new Promise(async function (resolve, reject) {});
new Promise(async (resolve, reject) => {});

有效

new Promise(function (resolve, reject) {});
new Promise((resolve, reject) => {});

您找到您需要的内容了吗?

隐私政策