javascript - ES6 : How to use await with callbacks

标签 javascript typescript ecmascript-6 async-await es6-promise

这是用 TypeScript 编写的 vue-router 的包装器:

abstract class RoutingHelper {

  // ...

  public static redirectToNamedRoute(targetRouteName: AnyValueOf<typeof NamedRoutes>): Promise<void> {
    return new Promise<void>((resolve: () => void): void => {
      router.push({ name: targetRouteName }, resolve);
    });
  }
}

规则@typescript-eslint/promise-function-async强制返回 Promise 的方法将是 async:

public static async redirectToNamedRoute(targetRouteName: AnyValueOf<typeof NamedRoutes>): Promise<void> {
    return new Promise<void>((resolve: () => void): void => {
      router.push({ name: targetRouteName }, resolve);
    });
  }

现在require-await告诉我该方法必须包含 await 关键字。我如何在此方法中观察 require-await

最佳答案

 return await new Promise<...>(...);

会让 linter 高兴。但老实说,在这里执行这条规则是没有意义的。如果您想在返回之前处理 promise 结果,则等待 promise 才有意义。

关于javascript - ES6 : How to use await with callbacks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57883724/

相关文章:

javascript - Microsoft Graph - 无法显示用户个人资料照片

css - ionic 3 响应弹出窗口大小

typescript - Aurelia/Typescript - 如何通过选择标签将对象绑定(bind)到变​​量

javascript - 在 Javascript 中使用 Enum 解构对象

javascript - 使用Javascript将字符串(日期格式)转换为日期时间

javascript - 将用户输入从文本框附加到新元素

javascript - 无法使用javascript解析json

typescript - TypeScript 中的破折号问号语法是什么?

namespaces - 在 ES6 中使用 IIFE 命名空间?

javascript - 获取函数参数长度,包括默认参数