writeAll method
Writes the elements of objects
separated by separator
.
Writes the string representation of every element of objects
,
in iteration order, and writes separator
between any two elements.
sink.writeAll(["Hello", "World"], " Beautiful ");
is equivalent to:
sink
..write("Hello");
..write(" Beautiful ");
..write("World");
Implementation
@override
Future<void> writeAll(Iterable objects, [String separator = ""]) {
Future<void> future;
Iterator iterator = objects.iterator;
if (!iterator.moveNext()) _writeLock.synchronized(() {});
if (separator.isEmpty) {
future = write(iterator.current);
while (iterator.moveNext()) {
final current = iterator.current;
future = future.then((_) => write(current));
}
;
} else {
future = write(iterator.current);
while (iterator.moveNext()) {
future = future.then((_) => write(separator));
final current = iterator.current;
future = future.then((_) => write(current));
}
}
return future;
}