KendoのdataSourceを使用して渡されたIDによって、リモートソースからレコードを単純に返す関数を作成しようとしています。ただし、「dataSource.fetch」内から「data」変数を設定すると、「data」オブジェクトは未定義のままです。「dataSource.fetch」内から「データ」オブジェクトを設定して、それを返すことができるようにするにはどうすればよいですか。
function getUserById(id){
var data;
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/data/users/",
dataType: "jsonp"
}
},
schema: {
model: { id: "id_usr" }
},
serverFiltering: true,
filter: { field: "id_usr", operator: "eq", value: id }
});
dataSource.fetch(function() {
var dataItem = dataSource.get(id);
if(dataItem){
data = dataItem;
}
});
return data;
}
user = getUserById("lrobinson");
name = user.fname+" "+user.lname;