An event model, extended in your js app
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
Kind: global class
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 |
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. |
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 |
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 |
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 |
return the number of listeners for a given event type
Kind: instance method of PeAEvent
Param | Type |
---|---|
eventType | string |
reset all event listener
Kind: instance method of PeAEvent
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 |
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 |
MIT