如果你還不懂發布訂閱,看這篇文章就夠了!

2021-09-27 06:26:46 字數 1168 閱讀 6993

發布訂閱: 是一種程式設計的思想;

***發布訂閱的思想***:

先進行訂閱,把要執行的一些方法先儲存到乙個事件池中;當條件成立時,進行發布的操作;發布時,遍歷事件池中的所有的方法,讓這些方法依次執行;

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...