Whisher
Whisher

Reputation: 32726

Rxjs 4 simple debug with console.log

I'm quite new at rxjs stuff so please be patience :).

var source = Rx.Observable.fromEvent(document, 'keyup');
    source.filter(function(x){
      console.log('filter with', x);
      return true;
    });
    var subscription = source.subscribe(
      function (x) {
        console.log('Next: keyup!',x.keyCode);
      },
      function (err) {
        console.log('Error: %s', err);
      },
      function () {
        console.log('Completed');
    });

whats the right way to debug inside filter I dont see any filter with in the console

I've also tried with

var source = Rx.Observable.fromEvent(document, 'keyup');
    source.filter(function(x){
      console.log('filter with', x);
      return true;
    });
    source.do(x => console.log('do with',x));
    var subscription = source.subscribe(
      function (x) {
        console.log('Next: keyup!',x.keyCode);
      },
      function (err) {
        console.log('Error: %s', err);
      },
      function () {
        console.log('Completed');
    });

with no lucky

Can you give me an hint please ?

Upvotes: 1

Views: 1070

Answers (1)

David Bulté
David Bulté

Reputation: 3109

source.filter() is creating a new Observable, yet you only subscribe to the original Observable, source. Observables that aren't subscribed to are not carried out

You have to do something like this:

source.filter()
      .do()
      .subscribe()

Upvotes: 3

Related Questions