javascript - Viktigheten av zone.js och rxjs i angular2
Jag är ny på Angular2. När jag gick igenom det stötte jag på zone.js och rxjs. Tjänar de båda för asynkrona uppgifter, eller har varje en specifik funktion? Kan någon förklara varför exakt zone.js och rxjs används i en Angular2-applikation?
Svar #1
Zone.js är en sorts omslag runt hela Angular2-applikationen som patchar (nästan) alla asynkrona API:er i webbläsaren. Angular2 anropar automatisk ändringsdetektion varje gång utförandet av en händelsehanterare har slutförts, och användningen av zone.js gör det möjligt för Angular2 att bli meddelad när det händer.
RxJS är ett sätt att hantera enstaka eller en serie händelser från asynkrona API:er i din kod. Se även Angular - Promise vs Observable
Svar #2
Zone.js (Delad exekveringskontext - Tillståndsbevarande) och RXJS - Reaktiva tillägg för JS är mekanismer för att ha smartare webbkontroller på din webbsida för att bibehålla tillstånd och förbättra kvaliteten på dina interaktioner respektive.
Exempel för ZoneJS - Hur vet Google att det är du när du är inloggad på Gmail, att sökningen kommer från ditt konto - delning av status mellan Google-appar.
Exempel för rxjs - Googles autosuggest-funktion verkar lista din önskade söksträng gradvis, baserat på alla de interaktioner du hittills har haft med den.
Vänligen notera att detta endast är vaga exempel och att det finns en ofattbar mängd algoritmer och maskininlärning involverad i varje av dessa exempel, ändå illustrerar de dessa idéer mycket väl i praktiken.