你在这里。看看这个问题与其他知识怎样相连。
选择节点前往页面 · 展开后可留在地图中阅读
一个问题
另一块屏幕怎样知道内容变了?
读取同一地址与收到变化通知,是两个步骤。
两块屏幕都显示投票结果。有人投了一票,业务资源更新了。另一块屏幕为什么会刷新? 不能只回答“它们用了同一个地址”。还要有从变化到显示更新的连接。
一种安排是定期再读:每隔一段时间请求最新结果。另一种安排是订阅:资源变化时,支持通知的实现发出事件,使用方再据此取得或应用新内容。
AFS 的订阅能力是可选的。相关能力信息可以说明是否主动推送、通知哪些事件,以及变化是在当前会话范围内还是跨会话可见。调用方需要依据实际支持情况选择订阅或刷新方式。
| 层次 | 在投票例子中的工作 |
|---|---|
| 业务资源 | 保存这次投票及新的统计结果 |
| 变化传播 | 将支持的变化通知送到订阅者,或由调用方重新读取 |
| 界面连接 | 把新结果交给对应的数据绑定或视图 |
| 显示端 | 更新图表、表格或文字 |
假如观众与讲者通过不同入口访问同一份结果,系统还需要把变化通知送到观众所用的入口,并让其中的资源地址对应起来。否则,观众可能每次手动读取都能看到新结果,却收不到主动更新。
因此,检查更新是否可靠时,要在第二个显示端实际观察结果,并检查断线以后怎样恢复。观众仍只能收到自己有权访问的内容。
继续深入
检查一下理解
两个显示端读同一个结果地址,是否已经证明它们会实时同步?
没有。还要验证变化传播、界面更新、权限范围和重连行为。
沿着学习路径继续
- 从找到资源,到可靠地操作它第 3 / 6 步
- 让资源跨越进程边界第 4 / 5 步