Dex ie возвращает значения из второго запроса - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть код Typescript, где я помещаю некоторые данные в IndexedDB, используя Dex ie, и затем я пытаюсь извлечь их, используя метод where или другой метод. Каждый раз первый вызов для получения данных из БД возвращает неопределенное значение или пустой массив (зависит от запроса), а второй вызов execute (тот же запрос) возвращает хорошие данные.

Для вставки данных я использую метод put для объекта Table (* 1003) *https://dexie.org/docs/Table/Table.put () )

await Table.put(someObject)

Для получения данных я пробовал другой способ

https://dexie.org/docs/Table/Table.where ()

await Table.where('index_name').equals('value').firts();

await Table.where('index_name').equals('value').toArray();

await Table.toArray();

Итак, более реальный код выглядит так:

await database.tableName.put(myObject);
... some code ...
await database.tableName.where('name').equals(myObject.name); // return undefined
await database.tableName.where('name').equals(myObject.name); // return myObject

прочее way:

await database.tableName.put(myObject);
... some code ...
await database.tableName.toArray(); // return empty array
await database.tableName.toArray(); // return array with myObject

Каждый из методов в первый раз всегда возвращает неопределенный / пустой массив, всегда со второго выполнения (строка за строкой) возвращает правильное значение (правильный экземпляр объекта). Между сохранением и загрузкой данных есть несколько инструкций (также другие сохранения в той же таблице).

...