Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 36.4k
doc: clarify effect of stream.destroy() on write()#25973
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -369,12 +369,17 @@ See also: [`writable.uncork()`][]. | ||
| added: v8.0.0 | ||
| --> | ||
| *`error` {Error} | ||
| *`error` {Error} Optional, an error to emit with `'error'` event. | ||
| * Returns: {this} | ||
| Destroy the stream, and emit the passed `'error'` and a `'close'` event. | ||
| Destroy the stream. Optionally emit an `'error'` event, and always emit | ||
| a `'close'` event. | ||
ContributorAuthor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This chunk and the previous one are obvious doc clarifications, its the chunk after this that I'm not sure about. | ||
| After this call, the writable stream has ended and subsequent calls | ||
| to `write()` or `end()` will result in an `ERR_STREAM_DESTROYED` error. | ||
| This is a destructive and immediate way to destroy a stream. Previous calls to | ||
ContributorAuthor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The above sentence defines interaction with subsequent calls, but interaction with previous calls was undefined. | ||
| `write()` may not have drained, and may trigger an `ERR_STREAM_DESTROYED` error. | ||
| ||
| Use `end()` instead of destroy if data should flush before close, or wait for | ||
| ||
| the `'drain'` event before destroying the stream. | ||
| Implementors should not override this method, | ||
| but instead implement [`writable._destroy()`][writable-_destroy]. | ||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...or something like that? Nit-picky perhaps, but errors aren't emitted; events are. Anyway, optional nit, feel free to ignore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought I said that, and I don't want to reword the
EventEmitter.emit()docs here. How about I reorder the words: "Optional, the'error'event will be emitted with theerroras an argument."?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That seems OK to me.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Although "as an argument for any listeners" might be a hair better? Anyway, I'm OK with any of the possibilities here. Improvements/clarifications can always come at a later date.)