我们在打字稿代码库中有一个通用的代码模式:
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);
}
}
这可能吗?
答案 0 :(得分:0)
我认为新的Promise是无用的,因为doCoolStuff
将返回一个承诺。
对于捕获部分,然后调用拒绝,等待将把错误传递给publish
承诺。
public async publish(event: myEvent, myStr: string): Promise<void> {
return await this.doCoolStuff(event, myStr);
}