如果我在Dart中有Stream
,我可以使用listen
和forEach
,但我不明白它们之间的区别。
例如,考虑以下代码:
final process = await Process.start('pub', ['serve']);
process.stdout.map((l) => UTF8.decode(l)).forEach(print);
我也可以这样写:
process.stdout.map((l) => UTF8.decode(l)).listen(print);
有什么不同吗?
await for (var x in stream) {}
"来代替"stream.forEach( (x) { ... } );
"是正确的吗? - Ganymede