333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Emitter [![Build Status](https://travis-ci.org/component/emitter.png)](https://travis-ci.org/component/emitter)
 
  Event emitter component.
 
## Installation
 
```
$ component install component/emitter
```
 
## API
 
### Emitter(obj)
 
  The `Emitter` may also be used as a mixin. For example
  a "plain" object may become an emitter, or you may
  extend an existing prototype.
 
  As an `Emitter` instance:
 
```js
var Emitter = require('emitter');
var emitter = new Emitter;
emitter.emit('something');
```
 
  As a mixin:
 
```js
var Emitter = require('emitter');
var user = { name: 'tobi' };
Emitter(user);
 
user.emit('im a user');
```
 
  As a prototype mixin:
 
```js
var Emitter = require('emitter');
Emitter(User.prototype);
```
 
### Emitter#on(event, fn)
 
  Register an `event` handler `fn`.
 
### Emitter#once(event, fn)
 
  Register a single-shot `event` handler `fn`,
  removed immediately after it is invoked the
  first time.
 
### Emitter#off(event, fn)
 
  * Pass `event` and `fn` to remove a listener.
  * Pass `event` to remove all listeners on that event.
  * Pass nothing to remove all listeners on all events.
 
### Emitter#emit(event, ...)
 
  Emit an `event` with variable option args.
 
### Emitter#listeners(event)
 
  Return an array of callbacks, or an empty array.
 
### Emitter#hasListeners(event)
 
  Check if this emitter has `event` handlers.
 
## License
 
MIT