【发布时间】:2020-05-03 14:47:09
【问题描述】:
我有一个警报服务,它与显示弹出窗口的警报组件通信工作组件。
我像 EventEmitters 那样工作:
alert.service.ts
export class AlertService {
@Output() alert: EventEmitter<any> = new EventEmitter()
sendAlertCont(data: any) {
this.getAlert.emit(data)
}
}
所以,在任何组件中,我都会调用服务函数来激活警报组件
any.component.ts
export class AnyComponent {
constructor(private _alert: AlertService){}
clickedFunction(){
this._alert.sendAlertCont('You don't have permissions')
}
alert.component.ts
export class AlertComponent implements OnInit {
constructor(private _alert: AlertService){}
ngOnInit(){
this._alert.alert.subscribe(data => {
this.alerta = data
$('app-alert').fadeToggle()
})
}
问题是:
如何执行名为sendAlertCont() 的服务函数在data 中返回响应发送选项并在发送警报的组件中获取响应:
AnyComponent:发送数据 => AlertService:活动警报 => AlertComponent:显示警报和选项
然后
AlertComponent:发送响应 => AlertService:获取并发送响应 => AnyComponent:接收响应
但都在同一个函数中。可以吗?
我在想像 Observable、Promise o Async Function 这样的东西:
this._alert.sendAlertCont('You don't have permissions').then(...)var res = await this._alert.sendAlertCont('You don't have permissions')this._alert.sendAlertCont('You don't have permissions').suscribe(...)
【问题讨论】:
标签: angular typescript promise async-await rxjs