2017-02-19 4 views
7

Итак, быстрый вопрос. Я использую RxJS 5 в течение нескольких месяцев, и я столкнулся с некоторым поведением, которое я действительно не понимаю, поскольку я не смог найти его нигде.RXJS 5 .subscribe() без аргументов

Я в ситуации, когда подписка на наблюдаемую цепочку с просто .subscribe(); не вызывает наблюдаемую.

Однако, если добавить onNext обратного вызова (пустой или нет), наблюдаемые триггеры и цепных процессов: .subscribe(() => {});

Может кто-нибудь объяснить, почему такое поведение происходит?

EDIT2 - Удалены значения Пример

+0

Вызов '.subscribe()' без аргументов должны работать. Можете ли вы опубликовать более полный пример? – Ashley

+0

Можете ли вы сделать демо? Все параметры 'subscribe()' являются необязательными и работают без каких-либо аргументов. – martin

+0

Выбрал ту же самую функцию в примере выше (теперь на RxJS 5.2.0 и Ionic 2.2.0), и теперь он обрабатывается без тела. Я оставлю эту ветку открытой, если проблема вернется. – DarkNeuron

ответ

3

.subscribe() фактически не требует каких-либо параметров, она будет просто создать emptyObserver, если ничего не дал, который должен работать так же хорошо.

Возможно, что в некоторых версиях 5.0.0-бета есть проблемы, связанные с этим, - если вы используете одну из этих версий, вы должны обновить до более стабильной версии.

const obs$ = Rx.Observable.of("Foo") 
 
    .do(() => console.log("triggered!")); 
 
    
 
obs$.subscribe(); 
 
obs$.subscribe();
<script src="https://unpkg.com/[email protected]/bundles/Rx.min.js"></script>

+1

Я тоже на RxJS 5.1.1. Я попытаюсь опубликовать пример моего кода. – DarkNeuron

Смежные вопросы