我正在用Falcor (falcor-router)做一些实验,想知道为什么它有时会返回'atom‘值。
例如,我请求此路径:['items',{from: 0, to: 100},['name', 'value']]
此路径只有50个项目,因此仅填充路径items.0..50。
生成的jsonGraph包含正确的items.0..50值,但也包含如下所示的items.51..100值:
51: { name: { type: "$atom" }, value: { type: "$atom" } }
我希望items.51..100不会出现在jsonGraph中,而不是用这些atom值填充。
为什么会发生这种情况,我可以做些什么来避免它?
发布于 2016-09-17 06:22:55
目前,不产生数据的路由被物化为空原子,因此客户端知道这些值实际上是未定义的(而不是仅仅还没有缓存)。
JSONGraph合并需要处理响应可能只是所请求路径的子集的情况。如果您请求三条路径,但是JSONGraph响应只有两条路径的数据,那么JSONGraph合并知道还有一条路径,并重试请求(但仅针对缺少的路径)。重复这个过程,直到我们达到重试限制,或者我们已经接收到所有请求路径的数据。
因此,物化是我们让缓存知道它不应该为该数据构建丢失的路径和重新请求的方式。
我相信我们有一个计划,很快就会远离物化,只传达没有数据返回的路径。
https://github.com/Netflix/falcor-router/issues/189#issuecomment-247722403
https://stackoverflow.com/questions/39355282
复制相似问题