![](/img/trans.png)
[英]“TypeError: this._subscribe is not a function” When trying RxJS in simple Node Module
[英]Subscribing to RxJs Observable with only onNext handler gives “this._subscribe is not a function”
我試圖訂閱從Subject
創建的Observable
,每當我訂閱時沒有錯誤處理程序,我都會收到錯誤this._subscribe is not a function
。 我發現這個問題描述了類似的錯誤; 但答案似乎並不符合我的情況。 這是我的代碼:
const subject = new Rx.Subject();
subject
.withLatestFrom(otherObservable)
.subscribe(
values => {
// some logic
}
);
我也嘗試過:
const subject = new Rx.Subject();
subject
.withLatestFrom(otherObservable)
.subscribeOnNext(
values => {
// some logic
}
);
和我得到同樣的錯誤。 這是我嘗試subscribe
時的堆棧跟蹤:
Observable.Rx.Observable.observableProto.subscribe.observableProto.forEach (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:2034:19)
WithLatestFromObservable.subscribeCore (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:4084:33)
WithLatestFromObservable.tryCatcher (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:63:31)
setDisposable [as action] (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:2082:46)
ScheduledItem.invokeCore (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:896:33)
ScheduledItem.invoke (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:884:40)
runTrampoline (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:1125:37)
tryCatcher (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:63:31)
CurrentThreadScheduler.schedule (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:1141:45)
WithLatestFromObservable.Rx.ObservableBase.ObservableBase._subscribe (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:2095:32)
WithLatestFromObservable.Rx.Observable.observableProto.subscribe.observableProto.forEach (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:2034:19)
這是我嘗試subscribeOnNext
時的堆棧跟蹤
Observable.Rx.Observable.observableProto.subscribe.observableProto.forEach (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:2034:19)
WithLatestFromObservable.subscribeCore (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:4084:33)
WithLatestFromObservable.tryCatcher (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:63:31)
setDisposable [as action] (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:2082:46)
ScheduledItem.invokeCore (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:896:33)
ScheduledItem.invoke (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:884:40)
runTrampoline (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:1125:37)
tryCatcher (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:63:31)
CurrentThreadScheduler.schedule (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:1141:45)
WithLatestFromObservable.Rx.ObservableBase.ObservableBase._subscribe (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:2095:32)
WithLatestFromObservable.Rx.Observable.observableProto.subscribeOnNext (/home/ryan/code/redurx/node_modules/rx/dist/rx.js:2046:19)
如果我通過一個普通的錯誤處理程序,例如() => null
進行subscribe
,則不會收到該錯誤。 有任何想法嗎?
多虧了user3743222,我知道了。 事實證明(從邏輯上來說)您不能訂閱普通的可觀察對象。 它的構建方式必須使其具有值得觀察的價值。 我在單元測試otherObservable
的初始化new Rx.Observable()
更改為Rx.Observable.just(1)
,現在可以預訂了。 我有點困惑,但是為什么當我同時傳遞onNext
和onError
處理程序時它沒有引發相同的錯誤。 但是我接受。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.