Falcor:如何在 falcor 的 JSON Graph 中定义函数?
Posted
技术标签:
【中文标题】Falcor:如何在 falcor 的 JSON Graph 中定义函数?【英文标题】:Falcor: How to define a function in falcor's JSON Graph? 【发布时间】:2016-07-29 16:19:00 【问题描述】:我对这个模态层库 --- Falcor 非常感兴趣。而且我看了Falcor的官方文档,在JSON Graph section,一个The Abstract JSON Graph Operations的话题,说到call
操作,我完全糊涂了。这是我根据官方示例的代码:
var jsonGraphObject =
todosById:
"44":
name: "get milk from corner store",
addedAt: 29689724399,
done: false,
prerequisites: [ $type: "ref", value: ["todosById", 54] ]
,
"54":
name: "withdraw money from ATM",
addedAt: 15687384689,
done: false,
prerequisites: []
,
todos: [
$type: "ref", value: ["todosById", 44] ,
$type: "ref", value: ["todosById", 54]
]
;
var model = new falcor.Model(
cache: jsonGraphObject
);
然后文档向我展示了如何使用call
:
model.call(
// callPath
["todos", "add"],
// arguments
["pick up car from the shop"],
// refPaths
[
["addedAt"]
],
// thisPaths
[
["length"]
])
.then(console.log.bind(console))
文档只是显示结果,但我的代码不起作用,我完全不知道这个add
函数在哪里,也不知道如何在 Falcor 的 JSON Graph 中定义函数。
我用谷歌搜索了它,但没有得到我的答案。那么那里有任何示例或样板项目吗?谢谢。
【问题讨论】:
找到***.com/questions/37926068/…和github.com/Netflix/falcor/issues/753 【参考方案1】:函数未缓存,因此它们不能位于传递给Model
构造函数的选项的cache
属性中。
call
会将处理委托给模型的数据源,因此后果取决于数据源的实现。如果您使用在服务器端调用Router 的HttpDataSource
,则该函数驻留在服务器上。
【讨论】:
以上是关于Falcor:如何在 falcor 的 JSON Graph 中定义函数?的主要内容,如果未能解决你的问题,请参考以下文章