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 如何将最新的流图组合成值图?_Dart_Stream_Rxdart - Fatal编程技术网

Dart 如何将最新的流图组合成值图?

Dart 如何将最新的流图组合成值图?,dart,stream,rxdart,Dart,Stream,Rxdart,我有一个映射,我想把它转换成一个流,它应该能从前者生成最新的值快照。我需要类似于Rx.combineLatest(mapofstream.values,(list)=>list)的东西,但不知何故保留了map键 我找到了这个解决方案,它似乎很有效(假设映射的键和值总是对齐的),但我觉得一定有更好的方法: final keys = mapOfStreams.keys.toList(); Rx.combineLatest( mapOfStreams.values, (list) => list

我有一个
映射
,我想把它转换成一个
,它应该能从前者生成最新的值快照。我需要类似于
Rx.combineLatest(mapofstream.values,(list)=>list)的东西,但不知何故保留了map键

我找到了这个解决方案,它似乎很有效(假设
映射的
键和
值总是对齐的),但我觉得一定有更好的方法:

final keys = mapOfStreams.keys.toList();
Rx.combineLatest( mapOfStreams.values, (list) => list.asMap().map( (i, value) => MapEntry(keys[i], value) ) );
这是我的方式

void main()异步{
最终流={
“a”:流周期(常量持续时间(毫秒:200),(i)=>i),
“b”:流周期(常量持续时间(毫秒:500),(i)=>i),
“c”:Stream.value('Hello'),
};
最终$=Rx.CombineTest(
流。条目
.map((entry)=>entry.value.map((v)=>MapEntry(entry.key,v)),
(列表值)=>Map.fromEntries(值),
);
最后的美元听(打印);
等待未来。延迟(持续时间(秒:10));
}