Jede Aktion von Ihrem beobachtbaren emittiert versendet werden wird, so was Sie brauchen, ist eine Aktion, um mehrere Aktionen zuordnen. Sie können das tun, indem Sie den Ladevorgang mit startWith()
auf switchMap()
Zugabe:
.switchMap(action => {
this.clientService.getClients()
.map(clients => new ClientActions.GetClientsReceived(clients) as Action)
.startWith(new LayoutActions.IsLoading(true))
);
Manchmal kann Typisierungen falsch sein, Typoskript wird die spezifische Art Ihrer Aktion anstelle von Action
. In diesem Fall wird nach der Map das Observable als Observable<ClientActionReceived>
getippt, so dass ein LayoutActionLoading
innerhalb von start zurückgegeben wird. Das scheint für Typoskript falsch zu sein.
Um zu vermeiden, dass Sie eine der beiden als Action
zu werfen, so wird es wissen, dass es ein Observable<Action>
ist.
Typoskript Fehler vermeiden musste ich die letzte Zeile .startWith ( neue LayoutActions.IsLoading (true)) ändern. Wäre toll, wenn Sie das in Ihrer Antwort hinzufügen können. –
Ich habe einige Erklärungen zu diesem Tippproblem hinzugefügt – Ghetolay