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
который вызывает маршрутизатор на стороне сервера, а затем функция находится на сервере.