Можно ли выполнить запрос базы данных localstorage в qml в отдельном потоке? Мой запрос к большой базе данных занимает 500 мс, что блокирует отзывчивость пользовательского интерфейса.
Мой соответствующий код:
property var db: null
function openDB() {
if(db !== null) return;
db = LocalStorage.openDatabaseSync("dbname", "0.1", "dbname", 3000000000);
}
function runQuery(query)
{
var results
db.readTransaction(function(tx) {
results = tx.executeSql(query)
});
return results;
}
Я хочу выполнять запрос каждую секунду, не блокируя пользовательский интерфейс. например,
var osresult = runQuery('SELECT * FROM os_data')
, где позже я перебираю результаты, чтобы отобразить их на графике. Я посмотрел на WorkerScript
, но с WorkerScript мне нужно использовать js-файлы, где я не могу использовать LocalStorage.openDatabaseSync.
Как выполнять запросы в qml без блокировки пользовательского интерфейса?