ATTACH INDEXEDDB DATABASE总是在第一次尝试时失败,然后在第二次尝试时成功

时间:2020-09-08 23:27:04

标签: alasql

我不确定如果我做错了什么或者这是一个错误。

我的IndexedDB存在并且其中包含数据。我目前正在使用alasql查询从IndexedDB检索数据之后的数据,但是,我宁愿在一个单一的步骤中执行此操作,因为这会使跨多个表的联接和其他查询更加简单。

这是我的代码:

const queryDB = async (dbName, query) => {
  const result = await alasql.promise([
    `CREATE INDEXEDDB DATABASE IF NOT EXISTS ${dbName};`,
    `ATTACH INDEXEDDB DATABASE ${dbName};`,
    `USE ${dbName};`,
  ]);
  console.log(result);
  return await alasql.promise(query);
};

(也尝试了不使用分号...)

对此函数的第一次调用失败,并显示“错误:数据库...不存在”,其中...是dbName

第二个成功,并从查询中返回值。

我一直在尝试我能想到的所有事情,并且唯一可行的解​​决方案是使用回调(例如Wiki上的示例),这不是我想要做的。

1 个答案:

答案 0 :(得分:0)

这很奇怪:

const queryDB = async (dbName, query) => {
  await alasql.promise(`ATTACH INDEXEDDB DATABASE ${dbName};USE DATABASE ${dbName};`);
  return await alasql.promise(query);
};