Falcor: как определить функцию в JSON Graph от falcor?

Меня очень интересует эта библиотека модальных слоев --- Falcor. И я прочитал официальный документ Falcor и в раздел JSON Graph, тема из Абстрактных операций JSON Graph, и когда речь идет об операции 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, и я не знаю, как определить функцию в JSON Graph Falcor.

Я гуглил об этом, но не получил ответа. Так есть ли там какой-нибудь пример или шаблонный проект? Спасибо.


person Leo Gao    schedule 08.04.2016    source источник
comment
нашел stackoverflow.com/questions/37926068/ и github.com/Netflix/ фалькор/вопросы/753   -  person CrashCodes    schedule 28.02.2018


Ответы (1)


Функции не кэшируются, поэтому они не могут находиться в свойстве cache параметров, переданных конструктору Model.

call делегирует обработку источнику данных модели, поэтому последствия зависят от реализации источника данных. Если вы используете HttpDataSource, который вызывает Маршрутизатор на стороне сервера, то функция находится на сервере.

person Hugo Wood    schedule 28.06.2016