Future<String> join(
[String separator = ""]
)

Collects string of data events' string representations.

If separator is provided, it is inserted between any two elements.

Any error in the stream causes the future to complete with that error. Otherwise it completes with the collected string when the "done" event arrives.

Source

/**
 * Collects string of data events' string representations.
 *
 * If [separator] is provided, it is inserted between any two
 * elements.
 *
 * Any error in the stream causes the future to complete with that
 * error. Otherwise it completes with the collected string when
 * the "done" event arrives.
 */
Future<String> join([String separator = ""]) {
  _Future<String> result = new _Future<String>();
  StringBuffer buffer = new StringBuffer();
  StreamSubscription subscription;
  bool first = true;
  subscription = this.listen(
    (T element) {
      if (!first) {
        buffer.write(separator);
      }
      first = false;
      try {
        buffer.write(element);
      } catch (e, s) {
        _cancelAndErrorWithReplacement(subscription, result, e, s);
      }
    },
    onError: (e) {
      result._completeError(e);
    },
    onDone: () {
      result._complete(buffer.toString());
    },
    cancelOnError: true);
  return result;
}