3
我正在使用無法換出的第三方庫的項目。它本質上是一個URL源並返回數據。它不返回一個承諾。它將返回的數據傳遞迴匿名回調...並不是你傳遞給函數的那一個。在Nodejs中將回調轉換爲RX.Observable
該文檔是參差不齊的,但這裏是他們如何指導您使用他們的庫。
third-party(URLsource, selector, scope)(function(err, data){ /* work with data array here*/ });
目前,代碼是一團糟。這在一定程度上會導致回撥地獄和過度使用承諾。
通過觀察數據管道化數據將有助於簡化和清理這個項目很多....但我仍然在學習RXjs,只是觀察者的工作方式。
我想到了這個問題將是一個很好的候選人:
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中?
唉......這是現在這麼明顯。謝謝您的幫助! – calbear47