使用Observable进行一次性事件

时间:2017-07-26 16:01:31

标签: rxjs observable

我有2个功能(为简单起见,打开/关闭):

open(config){
    ...do something
    this.watchForClosing = Observable.create(..?..)
    return this.watchForClosing
}

close(closeArgs){
    this.watchForClosing.complete(closeArgs)
}

我想要实现的是一种调用方法,其工作原理如下:

myClass.open(myData)
.subscribe( closeArgs => console.log('closed'))

基本上我希望调用函数调用打开函数并获得回调'当调用关闭函数时,我正在努力创建一个可以执行此操作的Observable。感谢任何指导!

1 个答案:

答案 0 :(得分:1)

解决方案:我能够做类似

的事情
class myClass {
    constructor(){
    this.observer = null
}
   open(componentConfig){
        return Observable.create(obs => {
            this.observer = obs
        })
    }

close(closeArgs){
        this.observer.next(closeArgs)
        this.observer.complete()
    }

}

抱歉,如果原来的问题太模糊了