Как я могу применить sendRequest YUI3, примененный к источнику данных, чтобы возвратить предопределенные объекты вместо простых?
Например, у меня есть этот базовый класс с его методами:
function Student(id, name){
this.id = id;
this.name = name;
}
Context.prototype.setId = function(id){ this.id = id; };
Context.prototype.setName = function(name){ this.name = name; };
Context.prototype.getId = function(){ return this.id; };
Context.prototype.getName = function(){ return this.name; };
И у меня есть этот код, который извлекает данные из API, нормализует их и возвращает данные в виде объектов:
var studApiDataSource = new Y.DataSource.Get({source: API_URL});
studApiDataSource.plug(Y.Plugin.DataSourceJSONSchema, {
schema: {
resultListLocator: "response.student",
resultFields: ["id","name"]
}
});
var myCallback = function(e) {
Y.Array.each(e.response.results, function(stud){
Y.log(stud.id+' '+stud.name);
}
}
studApiDataSource.sendRequest({
request: "?cmd=getStudents",
callback: {
success: myCallback,
failure: function (e) { }
}
});
Массив объектов, полученных с помощью studApiDataSource.sendRequest () и переданных в myCallback, является обычными объектами со свойствами id и name. Однако я хочу, чтобы это были объекты Student, а также их функции-члены (getId, getName и т. Д.)