Вообщем я нашел ответ сам, может кому-то пригодится
flatMap и forkJoin
// последовательно
let someStream$ = service.getData().flatMap(res => {
return service.deleteData(res)
})
someStream$.subscribe(res => {
// res - результат последнего
})
// параллельно
let getData$ = service.getData();
let deleteData$ = service.deleteData();
Observable.forkJoin([getData$, deleteData$]).subscribe(results => {
// results[0] дата из getData$
// results[1] дата из deleteData$
this.a = results[1];
this.b = results[0];
});