append
Emite todos los valores de la fuente y, al final, un valor extra.
Iterable<A> append<A>(A a, Iterable<A> iterable)
FxAsyncIterable<A> appendAsync<A>(FutureOr<A> a, FxAsyncIterable<A> iterable)
Fx<T> Fx.append(T a) // chain
FxAsync<T> FxAsync.append(FutureOr<T> a)
Lección
append es la forma más sencilla de pegar un único valor final
a una secuencia perezosa sin materializar nada: se limita a emitir toda la
fuente y luego emite a una vez que la fuente
se ha agotado. Como la fuente solo se consume cuando se tira de ella, esto
funciona bien incluso si calcularla es costoso — el valor extra es de verdad
lo último que se produce.
En el lado asíncrono, a puede ser a su vez un Future:
appendAsync lo espera solo cuando la fuente de aguas arriba ha terminado, así que un
valor de «cierre» lento no bloquea nada antes de tiempo.
Demo 1 · Fundamentos
Demo 2 · Asíncrono, con un valor futuro
Pruébalo tú
Ejercicio: añade 'cool' al final de los pasos.