У вас есть рабочий пример для меня? Какой прецедент может/должен применять этот шаблон? Информация здесь: http://reactivex.io/documentation/operators/and-then-when.html#collapseRxJS очень короткая.RxJS и-thenDo-когда пример
2
A
ответ
-1
только использование оператор zip
.
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
import 'rxjs/add/operator/take';
import 'rxjs/add/observable/zip';
const obs = Observable.interval(1000).take(7);
const obs2 = Observable.interval(2000).take(6);
const source = Observable.zip(
obs,
obs2,
(o1, o2) => ({o1: o1, o2: o2})
);
source.subscribe(
(x) => console.log(JSON.stringify(x)),
(error) => console.log('error:', error),
() => console.log('completed')
);
вне положенное:
{"o1":0,"o2":0}
{"o1":1,"o2":1}
{"o1":2,"o2":2}
{"o1":3,"o2":3}
{"o1":4,"o2":4}
{"o1":5,"o2":5}
completed
0
Вот пример из RxJS 4 Документах https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/thendo.md
var selector = function (x, y) { return x + ", " + y; };
var source = Rx.Observable.when(
Rx.Observable.interval(250).and(Rx.Observable.of("A", "B", "C")).thenDo(selector),
Rx.Observable.interval(300).and(Rx.Observable.of("a", "b")).thenDo(selector)
);
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.log('Error: ' + err);
},
function() {
console.log('Completed');
});
// => Next: 0, A
// => Next: 0, a
// => Next: 1, B
// => Next: 1, b
// => Next: 2, C
// => Completed
Это не дает ответа на вопрос! – dovidweisz