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

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

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

1 ответ

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

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

Другие вопросы по тегам