【发布时间】:2019-07-31 04:22:16
【问题描述】:
我正在尝试找到一种将事件回调从库包装到 RxJS Observable 的模式。
我正在使用的库为这样的事件注册处理程序:
const someHandler = (args) => {}`;
const resultCallback = (result) => {}`;
Library.addHandler('SOME_EVENT', someHandler, resultCallback);
Library.removeHandler('SOME_EVENT', someHandler, resultCallback);
resultCallback 是一个回调,如果处理程序注册成功则返回。
理想情况下,我想将处理程序作为函数的参数传入,并发出它的结果。
我不知道如何从这个函数发出处理程序的值,同时还保持对处理程序的对象引用以供删除。
addEventHandlerObservable<T>(handler: any): Observable<T> {
return new Observale(observer => {
SomeLibrary.addHandler('SOME_EVENT', handler,
(result) => {
// was registered successfully?
if(result.failed) {
observer.error();
observer.complete();
}
});
});
}
【问题讨论】:
-
@AluanHaddad
fromEvent仅适用于特定事件目标。这不是其中之一
标签: javascript typescript rxjs observable