Como forçar observáveis a serem executados em sequência?
Estou mudando do mundo da promessa para o mundo observável. Uma coisa que costumo fazer com o Promise é encadear uma série de tarefas e executá-las em sequência. Por exemplo, eu tenho três tarefas:printLog1()
para imprimir 1 no console,printLog23()
imprimir 2 e 3 no console eprintLog4()
imprimir 4.
Quando quero imprimir 1-2-3-4, escrevia uma cadeia de promessas como
printLog1()
.then(() => {
printLog23();
})
.then(() => {
printLog4();
});
Agora quero a mesma funcionalidade com o Observable e posso reescrever oprintLog()
funcionar em um observável como
printLog1 = Rx.Observabale.of(1).map((i) => console.log(i));
printLog23 = Rx.Observabale.of(2, 3).map((i) => console.log(i));
printLog4 = Rx.Observabale.of(4).map((i) => console.log(i));
Então eu tenho três observáveis que emitem valores diferentes para o console. Como encadeá-los para que esses três observáveis funcionem em ordem e imprimam1-2-3-4
?