清除所有事件
新增于v0.0.18
脚本举例
import { Events } from '@tomato-js/events'
const e = new Events();
function foo() {}
function bar() {}
function baz() {}
e.on('foo', foo);
e.on('bar', bar);
e.on('bar', baz);
e.clearAll();//清除所有key所有事件回调
无
触发事件
新增于v0.0.18
脚本举例
import { Events } from '@tomato-js/events'
const e = new Events();
function foo() {}
function bar() {}
function baz() {}
e.on('foo', foo);
e.on('bar', bar);
e.on('bar', baz);
e.emit('bar');
事件名称
透传剩余参数
无
获取事件函数列表
新增于v0.0.18
脚本举例
import { Events } from '@tomato-js/events'
const e = new Events();
function foo() {}
function bar() {}
function baz() {}
e.on('foo', foo);
e.on('bar', bar);
e.on('bar', baz);
e.listeners('bar')
//[bar,baz]
事件名称
执行函数列表
注册事件
新增于v0.0.18
脚本举例
import { Events } from '@tomato-js/events'
const e = new Events();
function foo() {}
function bar() {}
function baz() {}
e.on('foo', foo);
e.on('bar', bar);
e.on('bar', baz);
事件名称
事件回调函数
无
注册事件,只响应一次
新增于v0.0.18
脚本举例
import { Events } from '@tomato-js/events'
const e = new Events();
function foo() {}
function bar() {}
function baz() {}
e.once('foo', foo);
e.once('bar', bar);
e.once('bar', baz);
事件名称
事件回调函数
无
Generated using TypeDoc
异步队列
新增于v0.0.18
脚本举例
import { PQueue, sleep } from '@tomato-js/async' const queue = new PQueue({ autoStart:true, // 是否自动开始执行队列 concurrency: 1 //队列执行并发数 }); let str = ""; queue.add(async () => { await sleep(20); str = str + 1; }); queue.add(async () => { await sleep(30); str = str + 2; }); queue.add(async () => { await sleep(10); str = str + 3; }); // 同步方法监听 await queue.onIdle()//str=123; // 通过事件监听 queue.on('idle',()=>str)//123