我正在尝试在我的Electron应用程序中实现SQLite3,以便在应用程序关闭(Electron的“ close”事件)和来自API的用户数据时保存用户首选项。该API数据可以随时从脚本的各个部分到达,并且需要保存。有问题的错误是 sqlite_busy:数据库已锁定
我尝试将SQLite3的方法包装在一个保证与单独的模块中的'async / await'一起使用的承诺中,但这只能使我走远。
// const queue = [];
// push query to the queue
// loop to check if the queue has a query to handle
// execute the query and remove it from the queue
答案 0 :(得分:0)
我正在使用 Knex库来管理SQLite数据库以及所有操作,包括迁移。您可以在https://knexjs.org/
处获取所有信息表格就database is locked
问题而言,您可以使用Transaction方法维护与Knex的并发性,这可以帮助您克服这种情况。您可以查看有关如何实施交易查询的更多详细信息。 https://knexjs.org/#Builder-transacting