1.0.6 • Published 6 years ago

callbacks.js v1.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
6 years ago

callbacks.js Build Status

原生js观察者模式的的实现,主要用来管理回调函数队列,参考jquery的callbacks模块

Install

$ npm install --save callbacks

Then with a module bundler like rollup or webpack, use as you would anything else:

```javascript
// using ES6 modules
import callbacks from 'callbacks'

// using CommonJS modules
var callbacksJs = require('callbacks');
var callbacks = callbacksJs('unique');
var fn1 = function(){console.log(0)}
callbacks.add(fn1);
callbacks.fire();//--> 0

or

<script type="text/javascript" src="callbacks.js"></script>
<script>
    var callbacks = callbacks();
</script>

API

  1. callbacks('unique') 同一个回调只能添加一次
var callbacks = callbacksJs('unique');
var fn1 = function(){console.log(1)}
callbacks.add(fn1);
callbacks.add(fn1);
callbacks.fire();// 只输出1 没有输出2个1 第二次添加的回调函数没有添加成功
  1. callbacks('once') 回调函数列表只执行一次,后续再调用fire(),回调不执行
var callbacks = callbacksJs('once');
var fn1 = function(){console.log(1)}
callbacks.add(fn1);
callbacks.add(fn1);
callbacks.fire();// --> 1 1
callbacks.fire()// -- 没有输出
  1. empty( ) 清空回调函数列表
var callbacks = callbacksJs('unique');
var fn1 = function(){console.log(1)}
callbacks.add(fn1);
callbacks.fire();// --> 1
callbacks.empty();
callbacks.fire();// -- 没有输出
  1. remove(key) 删除指定的回调函数
var callbacks = callbacksJs();
var fn1 = function(){console.log(1)}
callbacks.add(fn1);
callbacks.add(fn1);
callbacks.fire();// --> 1 1
callbacks.remove(fn1)
callbacks.fire()// -- 没有输出
  1. add( ) 添加回调函数
var fn1 = function(){console.log(0)}
callbacks.add(fn1);
  1. fire( ) 执行回调函数列表
var fn1 = function(){console.log(0)}
callbacks.add(fn1);
callbacks.fire() // --> 0
1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago