typescript - lastValueFrom statt toPromise() warum?
Ich habe gesehen, dass RxJS toPromise() veraltet wird. Wir sollten stattdessen lastValueFrom verwenden. Ich möchte fragen, was der Grund dafür ist?
Die Syntax .toPromise() war viel sauberer.
Antwort #1
Dieses Thema wurde in mehreren öffentlichen Vorträgen von Ben Lesh über rxjs7 behandelt. Zusammengefasst hat .toPromise() nie wirklich korrekt funktioniert. Das liegt daran, dass die Antwort entweder der aufgelöste Wert oder <T | undefined> ist, was nicht der Funktionsweise von Promises entspricht. .lastValueFrom() hingegen gibt ein Promise vom Typ <T> zurück oder es wird ein leerer Fehler ausgelöst, wenn kein Wert ausgegeben wird. Der zusätzliche Vorteil ist, dass .lastValueFrom() konfigurierbar ist und dass man einen Standardwert zuweisen kann, falls das Observable nichts ausgibt.