Falcor回归不想要的原子?

时间:2016-09-06 18:09:05

标签: falcor falcor-router

我正在用Falcor(falcor-router)进行一些实验,并想知道为什么它有时会返回'原子'值。

例如,我要求这条路:['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" } }

我希望jsonGraph中不会出现items.51..100,而不是填充这些atom值。

为什么会发生这种情况,我该怎么办才能避免呢?

1 个答案:

答案 0 :(得分:1)

目前,不产生数据的路由被实现为空原子,因此客户端知道这些值确实是未定义的(而不是尚未缓存)。

JSONGraph合并需要处理响应可能只是所请求路径的子集的情况。如果您请求三个路径,但JSONGraph响应只有两个路径的数据,则JSONGraph合并知道还剩下一个路径,并重试请求(但仅限于丢失的路径)。重复此过程,直到我们达到我们的重试限制,或者我们已收到所有请求路径的数据。

因此,实现是让缓存知道它不应该构建缺失路径并重新请求此数据的方式。

我认为我们计划尽快摆脱实现,只传达没有数据返回的路径。

https://github.com/Netflix/falcor-router/issues/189#issuecomment-247722403