【发布时间】:2016-09-25 23:48:13
【问题描述】:
我正在处理一个使用无法换出的第三方库的项目。它本质上是一个 URL 源并返回数据。它不返回承诺。它将返回的数据传递回一个匿名回调......不是你传递给函数的数据。
文档参差不齐,但这里是他们指导您使用他们的库的方式。
third-party(URLsource, selector, scope)(function(err, data){ /* work with data array here*/ });
目前,代码是一团糟。这部分是为了回调地狱和过度使用承诺。
通过 observables 管道数据将有助于简化和清理这个项目很多......但我仍在学习 RXjs 以及 observables 的工作原理。
我认为这个问题很适合:
let datapull = Rx.Observable.bindNodeCallback(third-party);
let result = datapull(URLsource, selector, scope);
result.subscribe(result => console.log(result), e => console.log("Error: " + e)
但是,这不起作用,因为最后一个参数:
third-party(URLsource, selector, scope)
不是回调函数。
如何将此第三方函数的结果包装在 RX Observable 中?
【问题讨论】: