Hi 
https://stackblitz.com/edit/rxjs-defaultifempty13?devtoolsheight=60&file=index.ts
Ich verstehe nicht, warum TS hier nicht mehr zufrieden ist. Ich habe von RxJs von 6.5 auf 7.5 geupdated.
Ich habe gesehen, dass die irgendwas bei der Type inference bei defaultIfEmpty geändert/gefixt haben:
https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md
Die Signatur von defaultIfEmpty sieht jetzt so aus:
Mein code hier:
Da müsste doch die Type inference funktionieren und das als
Zuerst dachte ich die
Dann dachte ich das leere Array hier könnte noch ein Problem sein, da untypisiert?
Die Fehlermeldung:
Wie kann ich denn das nun lösen, ohne im Rückgabetyp von

https://stackblitz.com/edit/rxjs-defaultifempty13?devtoolsheight=60&file=index.ts
Ich verstehe nicht, warum TS hier nicht mehr zufrieden ist. Ich habe von RxJs von 6.5 auf 7.5 geupdated.
Ich habe gesehen, dass die irgendwas bei der Type inference bei defaultIfEmpty geändert/gefixt haben:
https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md
https://github.com/reactivex/rxjs/commit/9b5ce2f
Die Signatur von defaultIfEmpty sieht jetzt so aus:
Was bedeutet überhaupt das R=T?export function defaultIfEmpty<T, R = T>(defaultValue?: R): OperatorFunction<T, T | R>;
Mein code hier:
return of({ valueA: null, valueB: null });
Da müsste doch die Type inference funktionieren und das als
ISomething[]
erkennen?Zuerst dachte ich die
null
sind das Problem, aber es ist egal, ob ich da null oder 1 reinschreibe.Dann dachte ich das leere Array hier könnte noch ein Problem sein, da untypisiert?
return forkJoin(something).pipe(defaultIfEmpty([]));
Die Fehlermeldung:
Kann ich irgendwie noch nachvollziehen, denke ich zumindest... Er hat jetzt nicht nur ein ein Observable<ISomething[]> sondern wegen dem return im catchError auch noch ein { valueA: any; valueB: any; } und wegen dem defaultIfEmpty([]) noch das any[] ?Type 'Observable<any[] | (ISomething[] | { valueA: any; valueB: any; })[]>' is not assignable to type 'Observable<ISomething[]>'.
Wie kann ich denn das nun lösen, ohne im Rückgabetyp von
fetchSomething
auf ein any[]
zurückgreifen zu müssen?