Open mlegenhausen opened 3 years ago
@mlegenhausen thanks for reporting, toPromise
's signature is inaccurate:
toPromise<T>(this: Observable<T>): Promise<T>
Is it possible to detect if an observable completes without emitting a value?
Yes, this is demonstrated in a new rxjs@7
function lastValueFrom.
Ok, so I guess we can do the same and define an internal lastValueFrom
helper (except we can't reject) and use that instead of toPromise
So we would not resolve
when a complete
occurred and no value was emitted?
PR updated.
š Bug report
Current Behavior
Expected behavior
Instead of
Task<A>
we need to returnTask<Option<A>>
Reproducible example
See current behavior
Suggested solution(s)
We need to change all
toTaskX
function totoTaskOptionX
which get really ugly and before providing a PR I would like to discuss how the function forObservableThese
andObservableEither
should look like. I would actually consider to deprecate or even to remove them cause they are buggy and add no additional value over thetoTaskOption
function fromObservable
.Additional context
Currently it is only a runtime bug. With rxjs@7 we will get also a type error cause the signature of
toPromise
has changed to cover theundefined
case.Your environment
Which versions of fp-ts-rxjs are affected by this issue? Did this work in previous versions of fp-ts-rxjs?
All versions since 0.6.5