¿Cómo obligar a los observables a ejecutarse en secuencia?
Me estoy mudando del mundo Promesa al mundo Observable. Una cosa que suelo hacer con Promise es encadenar una serie de tareas y hacer que se ejecuten en secuencia. Por ejemplo, tengo tres tareas:printLog1()
para imprimir 1 en la consola,printLog23()
para imprimir 2 y 3 en la consola, yprintLog4()
para imprimir 4.
Cuando quiero imprimir 1-2-3-4, escribiría una cadena de promesa como
printLog1()
.then(() => {
printLog23();
})
.then(() => {
printLog4();
});
Ahora quiero la misma funcionalidad con Observable y puedo reescribir elprintLog()
funcionar en un observable 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));
Luego tengo tres observables que emiten diferentes valores a la consola. ¿Cómo los encadeno para que estos tres observables se ejecuten en orden e impriman1-2-3-4
?