即使存在数据,dojo dstore 中的 Get 方法也不会返回对象
Get method in dojo dstore is not returning object even though data is present
我正在尝试通过提供 id 来获取特定数据,以获取这样的方法,
var person = [
{id:1,name:"abc"},
{id:2,name:"xyz"}
];
var detailsStore = new Memory([{data: person,idProperty:"id"}]);
并获得这样的价值,
var person = detailsStore.get(1);
person.then(function(data){
var data1 = data.name;
},function(err){
console.log(err);
});
但是"detailsStore.get(1)"返回的promise对象没有任何对象,因此回调函数中的参数数据是未定义的。
为什么即使存在数据也不返回对象?
这段代码对我来说完全没问题:
require([
'dstore/Memory'
], function (Memory) {
var store = new Memory({ data: [
{ id: 1, name: 'abc' },
{ id: 2, name: 'xyz' }
] });
store.get(1).then(function (data) {
console.log(data.name);
});
});
见fiddle。
我怀疑您是在尝试访问 data1
未定义的其他地方吗?或许见 How do I return the response from an asynchronous call?
我正在尝试通过提供 id 来获取特定数据,以获取这样的方法,
var person = [
{id:1,name:"abc"},
{id:2,name:"xyz"}
];
var detailsStore = new Memory([{data: person,idProperty:"id"}]);
并获得这样的价值,
var person = detailsStore.get(1);
person.then(function(data){
var data1 = data.name;
},function(err){
console.log(err);
});
但是"detailsStore.get(1)"返回的promise对象没有任何对象,因此回调函数中的参数数据是未定义的。 为什么即使存在数据也不返回对象?
这段代码对我来说完全没问题:
require([
'dstore/Memory'
], function (Memory) {
var store = new Memory({ data: [
{ id: 1, name: 'abc' },
{ id: 2, name: 'xyz' }
] });
store.get(1).then(function (data) {
console.log(data.name);
});
});
见fiddle。
我怀疑您是在尝试访问 data1
未定义的其他地方吗?或许见 How do I return the response from an asynchronous call?