打字稿简化

时间:2019-03-01 20:10:31

标签: typescript

我们在打字稿代码库中有一个通用的代码模式:

  public async publish(event: myEvent, myStr: string): Promise<void> {
    return new Promise<void>(async (resolve, reject) => {
      try {
        await this.doCoolStuff(event, myStr);
        return resolve();
      } catch (error) {
        return reject(error);
      }
    });
  }

试图简化代码,以免重复大部分内容,从而使其看起来像是:

  public async publish(event: myEvent, myStr: string): Promise<void> {
    return new HelperOfSomeSort() {
      this.doCoolStuff(event, myStr);
    }
  }

这可能吗?

1 个答案:

答案 0 :(得分:0)

我认为新的Promise是无用的,因为doCoolStuff将返回一个承诺。 对于捕获部分,然后调用拒绝,等待将把错误传递给publish承诺。

public async publish(event: myEvent, myStr: string): Promise<void> {
    return await this.doCoolStuff(event, myStr);
}