pea-event
v1.0.1
Published
a can be extended event model class
Downloads
3
Readme
pea-event ·
An event model, extended in your js app
What is this?
pea-event is a class of js that helps you manage event/listener model
class App extends PeAEvent{};
var app =new App();
app.on('click',function(date){
console.log('app be clicked',date);
});
app.execEventAll('click',[new Date]);
Is nothing to be surprised at?
How about this:
class App extends PeAEvent{};
var app =new App();
setTimeout(function(){
app.execEventAll('load');
},1000);
(async function(){
await app.wait('load');
console.log('app loaded');
}());
It's very semantic right?
pea-event can do more than this, maybe you should look at the APIs
APIs
PeAEvent
Kind: global class
new PeAEvent([asTools])
recommend extend this class, direct construct will throw an error
| Param | Type | Default | Description | | --- | --- | --- | --- | | [asTools] | boolean | false | if you really want just construct it, call with true |
PeAEvent.on(eventType, listener, [options])
listen a event, add a listener for event
Kind: instance method of PeAEvent
| Param | Type | Description | | --- | --- | --- | | eventType | string | "*" means all | | listener | function | | | [options] | Object | | | options.once | boolean | If true, the listener would be automatically removed when invoked. |
PeAEvent.one(eventType, listener, [options])
listen a event but once. it's alias for PeAEvent#on(eventType,listener,{once:true})
Kind: instance method of PeAEvent
| Param | Type | Description | | --- | --- | --- | | eventType | string | "*" means all | | listener | function | | | [options] | Object | |
PeAEvent.off(eventType, listener) ⇒ boolean
remove a event listener.
note: if you use * in listener, waiter will be remove too
Kind: instance method of PeAEvent
Returns: boolean - success or no
| Param | Type | Description | | --- | --- | --- | | eventType | string | | | listener | function | string | "*" means all |
PeAEvent.wait(eventType, [checker]) ⇒ Promise
wait a event. you can add a checker, return a boolean to specify whether to wait if return a true, promise will be resolve
Kind: instance method of PeAEvent
| Param | Type | Description | | --- | --- | --- | | eventType | string | "*" means all | | [checker] | function | a checker function, it will call by event dispatch and received dispatch's argument, return a boolean for resolve or keep waiting |
PeAEvent.has(eventType) ⇒ Number
return the number of listeners for a given event type
Kind: instance method of PeAEvent
| Param | Type | | --- | --- | | eventType | string |
PeAEvent.reset()
reset all event listener
Kind: instance method of PeAEvent
PeAEvent.execEventAll(type, args) ⇒ Promise
trigger a event, exec this event's listener all. you can overwrite this method to changed you want, but overwrite method should use PeAEvent#execListener(listener ,arguments ,eventType) to exec a listener.
Kind: instance abstract method of PeAEvent
| Param | Type | Description | | --- | --- | --- | | type | string | event name to trigger | | args | Array | passed argument |
PeAEvent.execListener(listener, args, eventType)
how call a event listener. you can overwrite this method to changed you want.
Kind: instance abstract method of PeAEvent
| Param | Type | Description | | --- | --- | --- | | listener | function | event listener | | args | Array | the parameters passed in when the event is trigger | | eventType | string | the event name |
License
MIT