等待使用Flutter在RxDart中完成观察

时间:2019-11-06 10:13:25

标签: flutter observable rxdart

我需要通过执行以下操作来实例化数据库:

  1. Observable.fromFuture(getApplicationDocumentsDirectory())
  2. (Directory dir) => 等待 Observable.fromFuture(dir.create(recursive: true))
  3. (Directory dir) => String
  4. 未来的switchMap。

或在代码中

Observable.fromFuture(...)
    .waitToResolveWithoutMapToIt((dir) => Observable.fromFuture(...))
    .map((dir) => ...)
    .switchMap(_openDatabase$);

我正在努力应对第2节。

是否有一种方便的方法告诉RxDart等待Observable.fromFuture(dir.create(recursive: true))解析而不进行映射,然后继续第3节?

我可以想到两种解决方法:

SwitchMap内部的SwitchMap

切换到.create,然后切换回目录。

WithLatestFrom(a,b)=>(a)

从giben观察到withLatest,然后将其映射回dir


PS 1

我注意到RxJS拥有delayWhen可以解决我的问题,但不幸的是RxDart尚未实现此方法(至今?)。

PS 2

我发现dir.create将返回目录,这使我无法执行所有操作,但是问题仍然可行,因为下次我不会很幸运。

0 个答案:

没有答案