承诺拒绝后如何使 NG Zorro 模态保持打开状态

How to make the NG Zorro modal stay opened after a promise rejection

我知道您可以通过 return 在 nzOnOK 字段中输入 false 来使模式保持打开状态:

this.modal.confirm({
      nzTitle: 'Do you Want to delete these items?',
      nzContent: 'When clicked the OK button, this dialog will stay opened',
      nzOnOk: async () =>{
        return false;
      }
    });

但就我而言,我有一个从服务调用的方法,该服务可能 return 承诺拒绝。

如果服务调用失败,我想让模式保持打开状态

this.modal.confirm({
      nzTitle: 'Do you Want to delete these items?',
      nzContent: 'Some content',
      nzOnOk: async () =>{
        await this.myService.someMethod(); // this throws error and it should make the modal stay open
      }
    });

是否有我缺少的配置,因为我在文档中没有找到任何说明在拒绝承诺的情况下模式保持打开状态的内容。

此外,我不想使用 try catches 或临时变量来执行此操作,因为它会违背我使用的拒绝的目的。

模态应保持打开状态回调是 return falsePromise<false>:

这是一个带有 promise 的例子:

export class MyService {
  someMethod() {
    return Promise.reject();
  }
}
...
nzOnOk: () => {
   return this.myService.someMethod().then(res => !!res).catch(() => false); 
}

Stackblitz Example