Pattern Event Bus con gli store
Implementi un event bus globale usando uno store writable per una comunicazione disaccoppiata.
Pattern Event Bus con gli store è una lezione Sveltejs Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Sveltejs Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Sveltejs Academy include 4 lezioni in totale.
Event bus
Un event bus è un canale globale publish/subscribe per la comunicazione disaccoppiata.
Implementazione con writable
Uno store writable che contiene l'evento più recente funge da bus semplice.
const bus = writable(null);
export function emit(event) { bus.set(event); }
export function on(fn) { return bus.subscribe(e => { if (e) fn(e); }); }Caso d'uso
Un componente emette un evento toast; un altro si sottoscrive e mostra i toast a livello globale.
Disaccoppiamento
Il mittente e il destinatario non si importano a vicenda; entrambi dipendono dal bus.
Sicurezza dei tipi
Definisca gli eventi come una discriminated union per garantire la sicurezza dei subscriber.
type Event = { type: "toast"; text: string } | { type: "logout" };Una sola sottoscrizione
Avvolga la sottoscrizione con l'annullamento automatico tramite la sintassi abbreviata $ all'interno dei componenti.
Più bus
Suddivida i bus per dominio: appBus, modalBus, audioBus, per evitare un unico canale gigantesco.
Anti-pattern
L'uso eccessivo degli event bus porta a un flusso di dati implicito. Preferisca props/store diretti quando la responsabilità è chiara.
Semantica del replay
Gli store writable conservano solo l'ultimo valore. Per la cronologia completa degli eventi, utilizzi uno store basato su un array.
Eventi esterni
Un event bus può anche racchiudere eventi del browser come il ridimensionamento della finestra o le scorciatoie da tastiera.
Test
I test possono emettere eventi e verificare che i subscriber rispondano correttamente.
Verifica rapida
Qual è il vantaggio di un event bus?
Riepilogo
Costruisca un event bus semplice con uno store writable. Emetta eventi e si sottoscriva per una comunicazione trasversale disaccoppiata.
Domande Frequenti
La lezione «Pattern Event Bus con gli store» è gratuita?
Sì — il testo completo di «Pattern Event Bus con gli store» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Sveltejs Academy, passa a CoddyKit PRO. Il corso Sveltejs Academy include 4 lezioni in totale.
Cosa imparerò in «Pattern Event Bus con gli store»?
Implementi un event bus globale usando uno store writable per una comunicazione disaccoppiata. Eserciti Sveltejs Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Sveltejs Academy?
Non è richiesta alcuna esperienza precedente. Sveltejs Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Pattern Event Bus con gli store»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Sveltejs Academy?
Sì. Ogni lezione Sveltejs Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Architettura degli store: moduli delle funzionalità
- Pattern Event Bus con gli store
- Aggiornamenti ottimistici dell'interfaccia
- Annullamento e ripristino con la cronologia dello store