deno.com

要求 await

注意:此规则是 recommended 规则集的一部分。
deno.json 中启用完整集合
{
  "lint": {
    "rules": {
      "tags": ["recommended"]
    }
  }
}
使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
此规则可以通过将其添加到 deno.json 中的 includeexclude 数组中,从而显式包含或排除在当前标签中存在的规则之外。
{
  "lint": {
    "rules": {
      "include": ["require-await"],
      "exclude": ["require-await"]
    }
  }
}

禁止没有 await 表达式或 await using 声明的异步函数。

通常情况下,使用异步函数的主要原因是在其内部使用 await 表达式或 await using 声明。如果异步函数两者都没有,则很可能是一个无意的错误。

无效示例

async function f1() {
  doSomething();
}

const f2 = async () => {
  doSomething();
};

const f3 = async () => doSomething();

const obj = {
  async method() {
    doSomething();
  },
};

class MyClass {
  async method() {
    doSomething();
  }
}

有效示例

await asyncFunction();

function normalFunction() {
  doSomething();
}

async function f1() {
  await asyncFunction();
}

const f2 = async () => {
  await asyncFunction();
};

const f3 = async () => await asyncFunction();

async function f4() {
  for await (const num of asyncIterable) {
    console.log(num);
  }
}

async function f5() {
  using = createResource();
}

// empty functions are valid
async function emptyFunction() {}
const emptyArrowFunction = async () => {};

// generators are also valid
async function* gen() {
  console.log(42);
}

您找到所需内容了吗?

隐私政策