小编x66*_*6ep的帖子

如何使用 Observable 调用等待事件订阅者完成

我有两个组件。子组件有一个事件(EventEmitter)。父组件具有长时间方法的处理程序。

在进一步操作之前,我需要等待我的方法(longTimeMethod)的执行完成。方法继续接近 5 秒。

我想一致地执行所有步骤(1 -> 2 -> 3 -> 4 -> 5)。

但现在序列是 1 -> 2 -> 4 -> 5 -> 3

@Component({
    selector: 'child-selector',
    template: '<>********</>'
})
export class ChildComponent{
    @Output() childEvent = new EventEmitter();

    someFunction() {
       // Step 1: event emit

        this.childEvent.emit();
        // Step 5: Subscribers execution finished
        // Some code which should to reached after all event subscribers
    }
}

@Component({
    selector: 'parent-selector',
    template: '<child-selector (childEvent)="handleChildEvent()"></child-selector>'
})

export class ParentComponent{
       // Step 2: handler start 
    handleChildEvent() …
Run Code Online (Sandbox Code Playgroud)

observable rxjs typescript angular

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

angular ×1

observable ×1

rxjs ×1

typescript ×1