prepend

Emite primero un valor y después todos los valores de la fuente.

Iterable<A> prepend<A>(A a, Iterable<A> iterable) FxAsyncIterable<A> prependAsync<A>(FutureOr<A> a, FxAsyncIterable<A> iterable) Fx<T> Fx.prepend(T a) // chain FxAsync<T> FxAsync.prepend(FutureOr<T> a)

Lección

prepend es el espejo de append: emite a primero y luego deja pasar la fuente. Como la fuente no se toca hasta que realmente se tira de ella, anteponer un valor es barato por muy grande o costosa que sea la fuente — sin copias, sin desplazar índices, solo un valor extra por delante del resto.

prependAsync acepta además un Future como a; se espera primero, antes de que la primera petición llegue a la fuente subyacente.

Demo 1 · Fundamentos

Demo 2 · Asíncrono, con un valor futuro

Pruébalo tú

Ejercicio: antepón 'mix' al principio de los pasos.

Relacionado: append — añade un valor al final en su lugar · concat — une dos iterables completos · reverse