Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何从Streambuilder快照解析对象_Dart_Flutter_Reactive Programming_Rxdart - Fatal编程技术网

Dart 如何从Streambuilder快照解析对象

Dart 如何从Streambuilder快照解析对象,dart,flutter,reactive-programming,rxdart,Dart,Flutter,Reactive Programming,Rxdart,我的应用程序使用(BLOC)RxDart和Streams来传递信息并动态构建小部件 但是,如果它将一个简单的PODO(普通的旧dart对象)传递到流中,我就无法使用StreamBuilder小部件解析它 我可以将其输出到字符串,然后打印“对象实例”,但是如果我似乎无法深入了解对象细节的话 添加到流控制器 final _streamController = BehaviorSubject<Object>(); Function(Object) get addObjectToStream

我的应用程序使用(BLOC)RxDart和Streams来传递信息并动态构建小部件

但是,如果它将一个简单的PODO(普通的旧dart对象)传递到流中,我就无法使用StreamBuilder小部件解析它

我可以将其输出到字符串,然后打印“对象实例”,但是如果我似乎无法深入了解对象细节的话

添加到流控制器

final _streamController = BehaviorSubject<Object>();
Function(Object) get addObjectToStream => _streamController.sink.add;

如果您有任何建议或帮助,我们将不胜感激。

我在您的代码中没有看到任何
PODO
——无论您使用什么地方,它都是对象,我只是笼统地给它命名。这是一个设备,其中只有一个id字符串值。所以使用
Object Object=snapshot.data@pskink,这很有效。出于某种原因,我认为快照将是传递到流中的同一个对象。我没有意识到您需要基于它实例化一个新对象。现在看起来很简单。非常感谢你抽出时间来帮助我。当然,不客气
  final addToStream = StreamTransformer<Object, Object>.fromHandlers(
    handleData: (device, sink) {
      sink.add(device);
    }
  );
StreamBuilder(
              stream: bloc.stream,
              builder: (context, snapshot) {
                if (snapshot.hasData) { 
                  return Text('${snapshot.data.toString()}'); //This works 'instance of Object'
                } else {
                  return Text('No data to be displayed');
                }

              }),