Мне нужно последовательно запустить два наблюдаемых и вернуть результат только первого наблюдаемого. Вторая наблюдаемая требует, чтобы первая была завершена перед запуском.
Я нашел обходной путь, но я не удовлетворен. Вы можете протестировать его здесь: тест плунжера
const first = Observable.of(10).delay(1000).do(res => console.log('first'));
const second = Observable.of(20).do(res => console.log('second'));
console.log('start');
const test = first.concatMap(ev => second.map(x=> ev)).subscribe(res =>
console.log(res));
Я думаю (и надеюсь!) Более красивое решение существует, но я не могу его найти. Заранее спасибо за вашу помощь.
ev => second.mapTo(ev)
, чтобы сделать его более очевидным. - person martin   schedule 25.09.2017