有承诺的组件输出

Component Output with Promise

我有一个按钮组件,它有一个事件发射器,当它被触发时,我想在按钮中启动一个加载动画,当承诺被解决时,停止加载动画。

@Output() promiseClick: EventEmitter<any> = new EventEmitter<any>();

这将使用类似的东西:

<my-button (promiseClick)="makeAPICall()"></my-button>

其中 makeAPICall() 方法 returns 一个 Promise。

我需要 my-button 组件知道 makeAPICall() 承诺何时已解决。如何实现?

<my-button #button (promiseClick)="button.makeKnown(makeAPICall())"></my-button>
makeKnown(p:Promise) {
  p.then(result => this.result = result);
}