В одном из моих проектов, я следующий код, и при переходе на RxJS5, Rx.Observer кажется, больше не будет определено: неПереход от RxJS4 к RxJS5 - реализации наблюдателя
let index = 0;
let obsEnqueue = this.obsEnqueue = new Rx.Subject();
this.queueStream = Rx.Observable.create(obs => {
var push = Rx.Observer.create(v => { // ! error
if ((index % obsEnqueue.observers.length) === obsEnqueue.observers.indexOf(push)) {
obs.next(v);
}
});
return obsEnqueue.subscribe(push);
});
this.push = (v) => {
obsEnqueue.next(v);
index++;
};
это уже не работает, потому что Rx.Observer
не определен
в руководстве по миграции:
https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md
он говорит:
Observer is an interface now
Однако это не должно означать, что Rx.Observer, даже если это интерфейс, не должен иметь «статический» метод, называемый create.
В любом случае, Rx.Observer
больше не существует. я получаю эту ошибку:
TypeError: Cannot read property 'create' of undefined
Как я могу создать наблюдателя каким-то образом получают аналогичные результаты моего кода выше?
, как вы думаете, код можно было бы упростить так, как Марк? –
Нет, вам нужна прямая ссылка для наблюдения. – Asti
в коде, который вы мне дали, я пытаюсь выяснить, какая разница между использованием this.queueStream и this.obsEnqueue, приведет ли это к тому же или нет? Зачем? Пожалуйста, lmk спасибо! –