2016-04-08 5 views
1

Я очень заинтересован в этой библиотеке Modal Layer --- Falcor. И я прочитал официальный документ Falcor, а в JSON Graph section, тему Абстрактные операции диаграммы JSON, и когда речь идет о работе call, я совершенно смущен. Вот мой код, согласно официальному примеру:Falcor: Как определить функцию в графике JSON falcor?

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))

И документ просто покажи мне результат, но мой код не работал, я тота lly не знаю, где эта функция add, и я не знаю, как определить функцию в диаграмме JSON от Falcor.

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

+0

https://stackoverflow.com/questions/37926068/i-need-falcors-call-method-explained-or-a-good-example и https://github.com/Netflix/falcor/issues/ +753 – CrashCodes

ответ

1

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

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

Смежные вопросы