可观察到的行为

时间:2019-09-22 12:49:12

标签: flutter dart behaviorsubject rxdart

我是rx的新手,所以我可能在做某些非常错误的事情。

我想将可观察对象转换为BehaviorSubject,因为我希望拥有:
-多个观察者
-初始值

Observable<Note> _observableResult;
BehaviorSubject<Note> result;

 Observable<FileSystemEntity> getContentOfDirectory(file) {
final dir = Directory(file);
try {
  var stream = dir
      .list(recursive: false, followLinks: false)
      .where((fse) => !fse.path.contains("DS_Store"));
  return Observable(stream);
} catch (e) {
  debugPrint('getNoteError: $e');
  // If encountering an error, return 0
  return Observable.just(null);
}
}


getNotes() async {
final file = await _localPath;//Future<String>

_observableResult = getContentOfDirectory(file)
    .asyncMap((fse) {
      if (fse is File) {
        return fse.readAsString();
      } else {
        return null;
      }
    })
    .where((e) => e != null)
    .asyncMap((s) => Note.fromJsonResponse(s));

result =
    BehaviorSubject().withLatestFrom(_observableResult, (one, two) => two);
  }

错误: Observable不是BehaviorSubject类型的子类型

显然combinateLatest不正确(?),但是我没有找到在它们之间进行转换的任何体面的方法...

0 个答案:

没有答案