幾個月前讀完了Rx.js的源碼(v6)版本重虑,領(lǐng)悟到了Stream模式的實現(xiàn)原理举哟,并將其思想廣泛應(yīng)用在業(yè)務(wù)代碼中。這個過程讓我深刻的見識到Stream模式的好處弃秆,業(yè)務(wù)邏輯由此在代碼層面更加清晰饲宛。接下來的文章中我會講述Rx.js的核心實現(xiàn)原理舞竿,希望大家也可以因此而獲益今穿。由于2個原因:1.源碼是用ts編寫茂装,不熟悉ts的同學(xué)可能會不習(xí)慣;2.源碼不好大段拎出分析计雌。所以我會將其核心實現(xiàn)用js的代碼精簡后表述出來悄晃。OK玫霎,開始吧凿滤。
首先,在Observable類中庶近,有2個至關(guān)重要的函數(shù)pipe和left翁脆,首先來看看他們的實現(xiàn):