跳到主要内容
知识地图另一块屏幕怎样知道内容变了?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS 与界面

一个问题

另一块屏幕怎样知道内容变了?

读取同一地址与收到变化通知,是两个步骤。

两块屏幕都显示投票结果。有人投了一票,业务资源更新了。另一块屏幕为什么会刷新? 不能只回答“它们用了同一个地址”。还要有从变化到显示更新的连接。

一种安排是定期再读:每隔一段时间请求最新结果。另一种安排是订阅:资源变化时,支持通知的实现发出事件,使用方再据此取得或应用新内容。

AFS 的订阅能力是可选的。相关能力信息可以说明是否主动推送、通知哪些事件,以及变化是在当前会话范围内还是跨会话可见。调用方需要依据实际支持情况选择订阅或刷新方式。

层次在投票例子中的工作
业务资源保存这次投票及新的统计结果
变化传播将支持的变化通知送到订阅者,或由调用方重新读取
界面连接把新结果交给对应的数据绑定或视图
显示端更新图表、表格或文字

假如观众与讲者通过不同入口访问同一份结果,系统还需要把变化通知送到观众所用的入口,并让其中的资源地址对应起来。否则,观众可能每次手动读取都能看到新结果,却收不到主动更新。

因此,检查更新是否可靠时,要在第二个显示端实际观察结果,并检查断线以后怎样恢复。观众仍只能收到自己有权访问的内容。

继续深入

AFS 技术文档。