我有一个带有变压器的流,UTF8.decoder
可以将LineSplitter
. 它工作得很好,但从不调用onDone
参数中指定的函数。
import 'dart:async';
import 'dart:io';
import 'dart:convert';
void main(List<String> arguments) {
Stream<List<int>> stream = new File("input.txt").openRead();
stream.transform(UTF8.decoder.fuse(const LineSplitter()))
.listen((line) {
stdout.writeln(line);
}, onDone: () {
stdout.write("done");
}).asFuture().catchError((_) => print(_));
}
任何想法为什么它永远不会被调用?