我需要从
window.web3.eth.getCoinbase((error, result) => { ... });
这是个好主意吗?
new Observable<string>(o => {
this.w.eth.getCoinbase((err, result) => {
o.next(result);
o.complete();
});
});
最佳答案
RxJS包括一个 bindNodeCallback
可观察的创建器,该创建器专门用于从使用Node样式回调的异步函数创建可观察的对象。
您可以这样使用它:
const getCoinbaseAsObservable = Observable.bindNodeCallback(
callback => this.w.eth.getCoinbase(callback)
);
let coinbaseObservable = getCoinbaseAsObservable();
coinbaseObservable.subscribe(
result => { /* do something with the result */ },
error => { /* do something with the error */ }
);
请注意,使用箭头函数来确保使用
getCoinbase
作为其上下文来调用this.w.eth
方法。关于javascript - 如何通过回调使Observable,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48876234/