不傳入任何參數,調用add的時候將函數add到內部的list中,調用fire的時候順序觸發list中的回調函數:
function fn1(val) {
console.log('fn1 says:' + val);
}
function fn2(val) {
console.log('fn2 says ' + val);
}
var cbs = $.Callbacks();
cbs.add(fn1);
cbs.fire('foo');
console.log('........')
cbs.add(fn2);
cbs.fire('bar')
結果就是按照順序疊加觸發,如下列表:
fn1 says:foo ……………………… fn1 says:bar fn2 says bar
這種就是最簡單的處理了,可以直接模擬,代碼如下:
function Callbacks() {
var list = [];
var self;
self = {
add: function(fn) {
list.push(fn)
},
fire: function(args) {
list.forEach(function(fn) {
fn(args);
})
}
}
return self;
}
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報