Il presupposto è che tu abbia uno Stream - una fonte di eventi che si sviluppa nel tempo.
È possibile connettersi a Stream e creare una catena logica che si attiva quando viene emesso un nuovo evento:
var button = document.querySelector('#button');
var clickStream = Rx.Observable.fromEvent(button, 'click');
clickStream
.map(...)
.subscribe(...)
Definisci un potenziale cambiamento nel tuo sistema e connetti ad esso una catena di reazione.
Quello che sto cercando di inserire in questo paradigma relativamente semplice è caricamento iniziale dei dati (o qualsiasi altra catena logica "non codificata") - dove si desidera caricare alcuni dati iniziali "in anticipo", al momento della creazione del componente corrispondente, forse.
Mi sembra che, almeno in Rx, il paradigma sia qualcosa di simile a:
var source = Rx.Observable.just(somePerhapsAsyncDataSource);
var subscription = source.subscribe(...);
Quindi, per quanto posso dire, è un "osservabile immediatamente invocato" (all'interno dei vincoli del ciclo di eventi, naturalmente), che si sente un po 'forzato .
Questo è il paradigma comunemente accettato per il caricamento "non forzato" / iniziale dei dati o qualsiasi altra attività?
Altre soluzioni implicano abomini come osservabili sintetici (in cui si ha una proprietà shouldLoadData
su alcuni EventEmitter o simili, con la catena di carico allegata e imposta a true
quando viene creato il componente). Awful.