Update documentation for Stream.listen. Addresses issue #25967 BUG= http://dartbug.com/25967 R=floitsch@google.com Review URL: https://codereview.chromium.org/2119153002.
diff --git a/sdk/lib/async/stream.dart b/sdk/lib/async/stream.dart index eca6c34..7661d9f 100644 --- a/sdk/lib/async/stream.dart +++ b/sdk/lib/async/stream.dart
@@ -316,26 +316,37 @@ /** * Adds a subscription to this stream. * - * On each data event from this stream, the subscriber's [onData] handler - * is called. If [onData] is null, nothing happens. + * Returns a [StreamSubscription] which handles events from the stream using + * the provided [onData], [onError] and [onDone] handlers. + * The handlers can be changed on the subscription, but they start out + * as the provided functions. * - * On errors from this stream, the [onError] handler is given a - * object describing the error. + * On each data event from this stream, the subscriber's [onData] handler + * is called. If [onData] is `null`, nothing happens. + * + * On errors from this stream, the [onError] handler is called with the + * error object and possibly a stack trace. * * The [onError] callback must be of type `void onError(error)` or * `void onError(error, StackTrace stackTrace)`. If [onError] accepts - * two arguments it is called with the stack trace (which could be `null` if - * the stream itself received an error without stack trace). + * two arguments it is called with the error object and the stack trace + * (which could be `null` if the stream itself received an error without + * stack trace). * Otherwise it is called with just the error object. * If [onError] is omitted, any errors on the stream are considered unhandled, * and will be passed to the current [Zone]'s error handler. * By default unhandled async errors are treated * as if they were uncaught top-level errors. * - * If this stream closes, the [onDone] handler is called. + * If this stream closes and sends a done event, the [onDone] handler is + * called. If [onDone] is `null`, nothing happens. * - * If [cancelOnError] is true, the subscription is ended when - * the first error is reported. The default is false. + * If [cancelOnError] is true, the subscription is automatically cancelled + * when the first error event is delivered. The default is `false`. + * + * While a subscription is paused, or when it has been cancelled, + * the subscription doesn't receive events and none of the + * event handler functions are called. */ StreamSubscription<T> listen(void onData(T event), { Function onError,