在python中对nodejs eventemitter的一个小的重写
node-events的Python项目详细描述
node_events.py
A minor rewrite of the NodeJS EventEmitter in Python
安装
通过PyPI:
pip install node_events
用法
fromnode_eventsimportEventEmittermyEmitter=EventEmitter()deffn():print("An event occurred")myEmitter.on('event',fn)myEmitter.emit('event')# Prints# An event occurred
API
Class: ^{}
The ^{
EventEmitter.^{}(eventName, listener)
- ^{
}: <string> - ^{
}: <function> - Returns: <EventEmitter>;
调用时发出'addlistener:{eventName}'
事件。
EventEmitter.^{}(eventName, listener)
- ^{
}: <string> The name of the event. - ^{
}: <function> The callback function. - Returns: <EventEmitter>;
将listener
附加到名为eventName
的事件的侦听器数组。传递eventname和listener相同组合的多个调用将导致多次添加和调用侦听器。
调用时发出'addlistener:{eventName}'
事件。
默认情况下,事件侦听器按添加顺序调用。可以使用^{
返回对EventEmitter
的引用,以便可以链接调用。
emitter=EventEmitter()defappendListener():print('a')defprependListener():print('b')emitter.on('test',appendListener)emitter.prependListener('test',appendListener)emitter.emit('test')# Prints# b# a
EventEmitter.^{}(eventName, listener)
- ^{
}: <string> The name of the event. - ^{
}: <function> The callback function. - Returns: <EventEmitter>;
为名为eventName
的事件添加一次性listener
函数。下次触发eventName
时,将删除此侦听器,然后调用它。
调用时发出'addlistener:{eventName}'
事件。
默认情况下,事件侦听器按添加顺序调用。可以使用^{
返回对EventEmitter
的引用,以便可以链接调用。
emitter=EventEmitter()defappendListener():print('a')defprependListener():print('b')emitter.once('test',appendListener)emitter.prependOnceListener('test',appendListener)emitter.emit('test')# Prints# b# a
EventEmitter.^{}(eventName, listener)
- ^{
}: <string> The name of the event. - ^{
}: <function> The callback function. - Returns: <EventEmitter>;
将listener
函数添加到名为eventName
的事件的侦听器数组的开头。传递eventname和listener相同组合的多个调用将导致多次添加和调用侦听器。
调用时发出'addlistener:{eventName}'
事件。
emitter=EventEmitter()defnewConnection():print('someone connected!')emitter.prependListener('connection',newConnection)emitter.emit('connection')
返回对EventEmitter
的引用,以便可以链接调用。
EventEmitter.^{}(eventName, listener)
- ^{
}: <string> The name of the event. - ^{
}: <function> The callback function. - Returns: <EventEmitter>;
将名为eventName
的事件的一次性listener
函数添加到侦听器数组的开头。下次触发eventName
时,将删除此侦听器,然后调用它。
调用时发出'addlistener:{eventName}'
事件。
emitter=EventEmitter()defnewConnection():print('someone connected!')emitter.prependOnceListener('connection',newConnection)emitter.emit('connection')
返回对EventEmitter
的引用,以便可以链接调用。
EventEmitter.^{}([eventName])
- ^{
}: <string> The name of the event. - Returns: <EventEmitter>;
删除所有侦听器或指定的eventName
侦听器。
调用时发出'rmlistener:{eventName}'
事件。
返回对EventEmitter的引用,以便可以链接调用。
EventEmitter.^{}(eventName, listener)
- ^{
}: <string> - ^{
}: <function> - Returns: <EventEmitter>;
从名为eventName
的事件的侦听器数组中删除指定的listener
。
调用时发出'rmlistener:{eventName}'
事件。
EventEmitter.^{}(eventName, raiseException)
- ^{
}: <string> - ^{
}: <boolean> (Default: ^{ }) - Returns: <EventEmitter>;
检查事件发射器本身是否有一个名为eventName
的事件,为该操作返回一个布尔值。
如果raiseException
为真,则在检查结果计算为False
时引发异常。
EventEmitter.^{}(eventName)
- ^{
}: <string> - ^{
}: <boolean> - Returns: <EventEmitter>;
安全地检查核心EventListenerStack是否至少有一个侦听器。
内在地实现^{
Class: ^{}(listener)
- ^{
}: <function>
This class wraps the ^{
The ^{
EventListener.^{}(getter)
Number of times the function has been called
EventListener.^{}(*data)
- ^{
}: <any>
Send the ^{
EventListener.^{}(fn)
- ^{
}: <function> - Returns: <boolean>
Check if ^{
Class: ^{}(eventName)
- ^{
}: <string>
Stacking layer of listeners for an event defined named ^{
The ^{
EventListenerStack.^{}(getter)
Return a copy of the private listeners array.
EventListenerStack.^{}(getter)
Return the number of listeners exist and are actively waiting for event firings
EventListenerStack.^{}(*data)
- ^{
}: <any> - Returns: <boolean>
Send the ^{
EventListenerStack.^{}(fn)
- ^{
}: <function>
Check if the stack has the listener ^{
EventListenerStack.^{}(fn, index)
- ^{
}: <function> - ^{
}: <number>
Attach the ^{
EventListenerStack.^{}(fn)
- ^{
}: <function> - Returns: <boolean>
Detach the ^{
EventListenerStack.^{}()
Detach all the listeners within the stack
EventListenerStack.^{}()
Check if the stack has any listeners within
EventListenerStack.^{}(fn)
- ^{
}: <function>
Extract the ^{
开发
建筑
可以随意克隆,可以附加到license中使用,也可以发送拉取请求
git clone https://github.com/miraclx/node_events.py.git cd node_events.py # hack on code pip3 install . --user
许可证
Apache 2.0)神奇的奥沃努比(@miraclx)<;omiraculous@gmail.com>;