pea-event v1.0.1
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