signal-js使用方法

388 阅读1分钟
// 导入
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')})