Falcor:如何在falcor的JSON图中定义一个函数?

时间:2016-04-08 11:57:25

标签: falcor

我对这个模态层库感兴趣--- 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中定义一个函数。

我用Google搜索了一下,但是没有得到我的答案。那么那里有任何示例或样板项目吗?感谢。

1 个答案:

答案 0 :(得分:1)

函数不会被缓存,因此它们不能位于传递给cache构造函数的选项的Model属性中。

call会将处理委托给模型的数据源,因此后果取决于数据源的实现。如果您使用在服务器端调用HttpDataSourceRouter,则该函数将驻留在服务器上。