發布訂閱: 是一種程式設計的思想;
***發布訂閱的思想***:
先進行訂閱,把要執行的一些方法先儲存到乙個事件池中;當條件成立時,進行發布的操作;發布時,遍歷事件池中的所有的方法,讓這些方法依次執行;
attachevent : dom2級相容的處理就是採用發布訂閱的思想;
on
:訂閱事件;
emit
:發布事件;
off
:取消訂閱;
let obj =
;function
fn1(
)function
fn2(
)function
fn3(
)//訂閱,有三個引數:1. 訂閱物件 2.訂閱型別 3.訂閱的方法
function
on(obj,type,fn)
let ary = obj[type]
;//取到這個陣列
//遍歷ary中的陣列成員,判斷是否繫結過;
for(
let i =
0; i < ary.length; i++)}
ary.
push
(fn);}
//發布:讓訂閱的函式依次執行;
function
emit
(obj,type)}}
}//取消訂閱
function
off(obj,type,fn)}}
on(obj,
"breakfast"
,fn1);on
(obj,
"breakfast"
,fn3)
;off
(obj,
"breakfast"
,fn3);on
(obj,
"lunch"
,fn2)
;settimeout
(function()
,2000);
settimeout
(function()
,4000
);
其實發布訂閱和觀察者模式是有一些區別的;
至於區別在哪,等有時間總結好了再補進來,畢竟今天已經太晚了,總熬夜不大好,???
如果看了這篇文章還不懂卷積,那就過來掐死我吧
卷積 最近總是和卷積打交道,工作需要,每天都要碰到它好幾次,不勝煩惱,因為在大學時候學訊號與系統的時候就沒學會,我於是心想一定要把卷積完全搞明白。正好同辦公室的同學也問我什麼是卷積,師姐昨天也告訴我說 我也早就想把這個問題搞明白了!經過一段時間的思考之後,有一些很有趣的體會和大家分享。聽說卷積這種表...
如果你想辭職,先不妨看看這篇文章 轉
當時公司招了大批應屆本科和研究生畢業的新新人類。平均年齡25歲。那個新的助理,是經過多次面試後,我親自招回來的乙個女孩。名牌大學本科畢業,聰明,性格活潑。私下裡我得承認,我招她的乙個很重要的原因,除了她在大學裡優秀的表現之外,還因為她寫了一手漂亮的字。女孩能寫一手好字的不多,尤其像她,看起來長髮飄飄...
你還不懂Redis的發布訂閱模式呢?
一 什麼是發布訂閱 其實就是mq,被訂閱者寫訊息,訂閱者們實時讀到訊息進行處理。在說這之前,前面提到的list型別blpop也是可以模擬單播阻塞佇列的。但是他終歸是模擬。redis為我們提供了屬於他自己的發布訂閱。核心命令 只有已訂閱的客戶端才能收到訊息,比如我給test傳送了一條helloworl...