мы используем breezejs для получения как сущностей, так и не сущностей с сервера ... для не-сущностей, которые мы хотели бы связать с возвращаемыми объектами, в частности, мы хотим установить их прототип ... после прохождения кода бриза кажется, что идеальное место для этого было бы в функции ниже MappingContext ... здесь у нас есть доступ к «результату», который возвращает объект-объект клиенту, и мы также имеем доступ к свойство $ type "node". Имея эту информацию, мы могли бы найти конструкторную функцию путем синтаксического анализа $ type и результата обновления, чтобы результат выглядел как экземпляр найденной функции конструктора ... есть ли точки перехвата, которые могли бы мне помочь? моя проблема заключается в том, что, когда объекты передается на ветре, я не имею доступ к свойству «узел. $ типа», который мне нужен для того, чтобы найти функцию конструктора ... спасибоКак подключиться к mappingcontext.processAnonType
function processAnonType(mc, node) {
// node is guaranteed to be an object by this point, i.e. not a scalar
var keyFn = mc.metadataStore.namingConvention.serverPropertyNameToClient;
var result = {};
__objectForEach(node, function (key, value) {
var newKey = keyFn(key);
var nodeContext = { nodeType: "anonProp", propertyName: newKey };
visitNode(value, mc, nodeContext, result, newKey);
});
return result;
}
Благодарим вас за ответ. но я не понимаю, как пользовательский jsonresultsadapter поможет мне. в соответствии со ссылкой, которую вы отправили, jsonresultsadapter имеет два метода, которые я мог бы переопределить, extractresults и visitnode. при изучении этих двух методов и их текущей реализации я не вижу, где бы ни одна из этих логических схем не соответствовала бы ей, если бы была создана обычная. is not visitnode предназначен для возврата информации о том, как обрабатывать узел? – giancarloa
Вы можете изменить входящий узел в visitNode (подробнее добавлено в ответ выше). –
привет jay. Я только сейчас вернусь к реализации. извините заранее, чтобы быть такой тяжелой головой, но я просто не понимаю, как через jra.visitnode я могу добиться того, чего хочу. для начала документ на jra говорит в самом низу, что объекты, возвращаемые ветром, НИКОГДА не похожи на входящие объекты json. и, конечно, достаточно пройти по коду бриза, это действительно так. но выше вы говорите: «Если узел НЕ является сущностью, то все, что вы вернете, будет передано без изменений вашему клиенту». я полностью смущен. – giancarloa