// 导入
import signal from 'signal-js';
1.基本用法
// 定义:signal.on('信号',回调)
signal.on('basic', arg => console.log(arg);
// 调用:signal.emit('信号',参数)
signal.emit('basic', 1);
// 1
2.定义多个相同信号的signal,并通过trigger来调用多个
signal.on('multiple', () => console.log(1));
signal.on('multiple', () => console.log(2));
signal.on('multiple', () => console.log(3));
signal.trigger('multiple');
// > 1
// > 2
// > 3
3.传入多个参数
signal.on('params', (one, two, three) => console.log(one, two, three));
signal.emit('params', 1, 2, 3);
// > 1 2 3
4.移除一个信号,通过remove
signal.on('test', () => console.log('hi'))
.off('test') // removes all `test` events
.emit('test'); // nothing happens
5.同一信号是单向的,但可以通过创建signal的不同实例来使用同一信号
signal.on('signal',()=>{ console.log('i'm the only one') })
// 实例化多一个signal
const local = signal()
local.on('signal',() =>{ console.log('i'm the only one too')})