真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

RxJS的另外四種實現(xiàn)方式(序)-創(chuàng)新互聯(lián)

  • 本文適合人群:了解Rx編程人士、Javascript發(fā)燒友
  • 本文涉及概念:響應型編程、NodeJs、函數(shù)式編程

背景

本人自從讀過一篇來自Info的《函數(shù)式反應型編程(FRP) —— 實時互動應用開發(fā)的新思路》后便迷戀上了Rx,甚至以當時的Rxjs庫移植了一套適用于Flash的AS3.0的Rx庫ReactiveFl,也在實際開發(fā)中不斷實踐體會其中的樂趣。最近在知乎上無意中看到有人提到了一個名為callbag的項目,引發(fā)了我很大的興趣,甚至×××觀看了作者的視頻Callback Heaven - Andre Staltz看完視頻,我久久不能平靜,這是多么的奇思妙想,然而當我運行了作者代碼庫里面的性能測試的時候,另一個不為人所知的庫出現(xiàn)了,叫做Most。這個庫性能了得,遠遠超過同類的庫,然后我就想是否可以結(jié)合兩者的優(yōu)勢,創(chuàng)造出性能高超,但設計巧妙又通俗易懂的Rx庫呢?于是我做了如下的嘗試:

成都創(chuàng)新互聯(lián)網(wǎng)絡公司擁有10年的成都網(wǎng)站開發(fā)建設經(jīng)驗,1000多家客戶的共同信賴。提供成都網(wǎng)站建設、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)站定制、買鏈接、建網(wǎng)站、網(wǎng)站搭建、成都響應式網(wǎng)站建設公司、網(wǎng)頁設計師打造企業(yè)風格,提供周到的售前咨詢和貼心的售后服務

RxJs的四種實現(xiàn)方式

  1. 實現(xiàn)代碼最小的庫(受callbag啟發(fā))
  2. 性能最好的庫(參考了Most)
  3. 利用js的生成器實現(xiàn)的庫(突發(fā)奇想)
  4. 擴展Nodejs的Stream類實現(xiàn)的庫(受Event-Stream的啟發(fā))

    受到以上的啟發(fā),我又實現(xiàn)了Golang的Rx庫
    源碼請關(guān)注我的github,https://github.com/langhuihui

Rx實現(xiàn)的關(guān)鍵功能

要實現(xiàn)一個Rx庫,關(guān)鍵在于實現(xiàn)數(shù)據(jù)的推送以及消費過程中的四個基本功能:

  1. 訂閱:即激活Rx數(shù)據(jù)流的每一個環(huán)節(jié),生產(chǎn)者此時可以開始發(fā)送數(shù)據(jù)(某些生產(chǎn)者并不關(guān)心是否有人訂閱)
  2. 發(fā)送/接受 數(shù)據(jù):生產(chǎn)和消費的核心功能
  3. 完成/異常:由生產(chǎn)者發(fā)出的事件
  4. 取消訂閱: 由消費者觸發(fā)終止數(shù)據(jù)流,回收所有資源
生產(chǎn)者
(*)-------------(o)--------------(o)---------------(x)----------------|>
 |               |                |                 |                 |
Start          value            value             error              Done
消費者
(*)-------------(o)--------------(o)---------------(x)----------------|>
 |               |                |                 |                 |
Subscribe      onNext           onNext            onError         onComplete

上述過程中,如果用戶調(diào)用了unSubscribe/Disopse的方法,就可以中斷,從而不再觸發(fā)任何事件

Rx的兩種書寫模式

  1. 鏈式編程
  2. 管道模式

本人利用js的Proxy類,實現(xiàn)了一個庫同時實現(xiàn)兩種書寫模式的解決方案,我會在后續(xù)的文章中解釋其中的原理。
(未完待續(xù))

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前題目:RxJS的另外四種實現(xiàn)方式(序)-創(chuàng)新互聯(lián)
當前地址:http://weahome.cn/article/iosdd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部