Advertisement
Guest User

Untitled

a guest
Dec 20th, 2014
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. var Rx = require('rx');
  2.  
  3. var e1 = new Rx.Subject();
  4. var e2 = new Rx.Subject();
  5. var e3 = new Rx.Subject();
  6.  
  7. var e1s = e1.asObservable();
  8. var e2s = e2.asObservable();
  9. var e3s = e3.asObservable();
  10.  
  11. e1s.
  12. flatMapLatest(function () {
  13. return e3s.
  14. startWith(true).
  15. flatMapLatest(function () {
  16. return e2s.delay(1000).takeUntil(e3s);
  17. })
  18. }).
  19. forEach(function (value) {
  20. console.log('value %s', value);
  21. });
  22.  
  23. // NOT emit e2
  24. e1.onNext('e1');
  25. e2.onNext('e2');
  26. setTimeout(function () {
  27. // abort e2
  28. e3.onNext('e3');
  29. }, 500);
  30.  
  31. setTimeout(function () {
  32. e1.onNext('e1');
  33. // should emit e2 since e3 is not happened
  34. e2.onNext('e2');
  35. }, 2000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement