root / HServer / 00.Server / 00.Program / node_modules / destroy / README.md
이력 | 보기 | 이력해설 | 다운로드 (2.13 KB)
| 1 |
# Destroy |
|---|---|
| 2 |
|
| 3 |
[![NPM version][npm-image]][npm-url] |
| 4 |
[![Build status][travis-image]][travis-url] |
| 5 |
[![Test coverage][coveralls-image]][coveralls-url] |
| 6 |
[![License][license-image]][license-url] |
| 7 |
[![Downloads][downloads-image]][downloads-url] |
| 8 |
[![Gittip][gittip-image]][gittip-url] |
| 9 |
|
| 10 |
Destroy a stream. |
| 11 |
|
| 12 |
This module is meant to ensure a stream gets destroyed, handling different APIs |
| 13 |
and Node.js bugs. |
| 14 |
|
| 15 |
## API |
| 16 |
|
| 17 |
```js |
| 18 |
var destroy = require('destroy')
|
| 19 |
``` |
| 20 |
|
| 21 |
### destroy(stream) |
| 22 |
|
| 23 |
Destroy the given stream. In most cases, this is identical to a simple |
| 24 |
`stream.destroy()` call. The rules are as follows for a given stream: |
| 25 |
|
| 26 |
1. If the `stream` is an instance of `ReadStream`, then call `stream.destroy()` |
| 27 |
and add a listener to the `open` event to call `stream.close()` if it is |
| 28 |
fired. This is for a Node.js bug that will leak a file descriptor if |
| 29 |
`.destroy()` is called before `open`. |
| 30 |
2. If the `stream` is not an instance of `Stream`, then nothing happens. |
| 31 |
3. If the `stream` has a `.destroy()` method, then call it. |
| 32 |
|
| 33 |
The function returns the `stream` passed in as the argument. |
| 34 |
|
| 35 |
## Example |
| 36 |
|
| 37 |
```js |
| 38 |
var destroy = require('destroy')
|
| 39 |
|
| 40 |
var fs = require('fs')
|
| 41 |
var stream = fs.createReadStream('package.json')
|
| 42 |
|
| 43 |
// ... and later |
| 44 |
destroy(stream) |
| 45 |
``` |
| 46 |
|
| 47 |
[npm-image]: https://img.shields.io/npm/v/destroy.svg?style=flat-square |
| 48 |
[npm-url]: https://npmjs.org/package/destroy |
| 49 |
[github-tag]: http://img.shields.io/github/tag/stream-utils/destroy.svg?style=flat-square |
| 50 |
[github-url]: https://github.com/stream-utils/destroy/tags |
| 51 |
[travis-image]: https://img.shields.io/travis/stream-utils/destroy.svg?style=flat-square |
| 52 |
[travis-url]: https://travis-ci.org/stream-utils/destroy |
| 53 |
[coveralls-image]: https://img.shields.io/coveralls/stream-utils/destroy.svg?style=flat-square |
| 54 |
[coveralls-url]: https://coveralls.io/r/stream-utils/destroy?branch=master |
| 55 |
[license-image]: http://img.shields.io/npm/l/destroy.svg?style=flat-square |
| 56 |
[license-url]: LICENSE.md |
| 57 |
[downloads-image]: http://img.shields.io/npm/dm/destroy.svg?style=flat-square |
| 58 |
[downloads-url]: https://npmjs.org/package/destroy |
| 59 |
[gittip-image]: https://img.shields.io/gittip/jonathanong.svg?style=flat-square |
| 60 |
[gittip-url]: https://www.gittip.com/jonathanong/ |