Метод get в dojo dstore не возвращает объект, даже если данные присутствуют

Я пытаюсь получить конкретные данные, предоставляя идентификатор, чтобы получить метод, подобный этому,

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)", не имеет никакого объекта, поэтому данные аргумента в функции обратного вызова не определены. Почему это не возвращающий объект, даже если данные присутствуют?

1 ответ

Решение

Этот код прекрасно работает для меня:

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

Вижу скрипку.

Я подозреваю, что если что-то, вы пытаетесь получить доступ data1 где то еще что то не определено? Возможно, посмотрите, как я могу вернуть ответ от асинхронного вызова?

Другие вопросы по тегам