RxJS4. Promises
Muito melhor…né?
Mas você não pode:
• Obter múltiplos valores assíncronos
• Usar lógica relacionada a tempo
(Timeout, Delay, Debounce)
• Fazer composições complexas
12. RxJS
• Emite qualquer quantidade de valores assíncronos (de 0 à ∞)
• Emite erros
• Fim de transmissões
15. >
[1,
2,
3]
.forEach(::console.log)
>
1
>
2
>
3
>
[1,
2,
3]
.map(x
=>
x
*
2)
>
[2,
4,
6]
>
[1,
2,
3]
.filter(x
=>
x
%
2)
>
[1,
3]
Iterables + functional
>
[[1],
[2,
3],
[],
[4]].concatAll(x
=>
x
%
2)
>
[1,
2,
3,
4]
16. >
{1……2…………3}
.subscribe(::console.log)
>
1
……
>
2
…………
>
3
>
{1……2…………3}
.map(x
=>
x
*
2)
{2……4…………6}
>
{1……2…………3}
.filter(x
=>
x
%
2)
{2……4…………6}
Observable + functional
{
{…1},
{………2………………3},
{……………},
{…………………4}
}.concatAll(x
=>
x
%
2)
{…1…2………4……3}