簡體   English   中英

Glimmer VM 中的“基於拉取的函數式反應程序”是什么意思?

[英]What does the “pull-based functional reactive program” mean in Glimmer VM?

正如我在這篇文章中看到的“基於拉式的函數式反應程序”的概念: https : //engineering.linkedin.com/blog/2017/06/glimmer--blazing-fast-rendering-for-ember-js--第2部分

據我所知,“基於拉取”意味着我們必須使用常規輪詢方式根據狀態的最新值來檢查和更新 UI。 但是我認為如果應用程序有很多狀態並且實際上大多數時間不經常更改,則會有很多浪費的“輪詢”,甚至可能導致應用程序運行效率低下。

所以,我認為這里應該有一些我錯過的東西,我怎么能理解呢?

雖然 VM 架構是一種新穎的渲染建模方式,但 VM 的初始執行會設置參考和修訂標記子系統,這使我們能夠對用於更新 UI 的基於拉式的功能反應程序 (FRP) 進行建模。 這在實踐中意味着沒有觀察者或訂閱的概念來保​​持 UI 中的值更新,而是我們允許模板中的支持值自由變化。 目前,概念化這個系統的最簡單方法如下:

我強烈推薦 Chris Garrett在這方面的一組博客文章 他對此做了更全面的解釋,但推與拉反應性並不是每隔一段時間輪詢一次更改,它更類似於命令式與聲明式編程。 它將對狀態變化做出反應的責任放在消費者身上(拉),而不是將通知應用狀態變化的責任放在改變者身上(推送)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM