javascript - Node.js 中 sqlite 数据库的异步 HTTP 请求

标签 javascript node.js asynchronous sqlite

我目前正在尝试测试具有多个异步 HTTP 请求的小型服务器,但是我的 sqlite3 数据库似乎阻止发出 SQLITE_BUSY 的并发查询。

db.exec(query, (err) => {
    if (err !== null) {
        callback('Insertion failed.');
    } else {
        callback(null);
});

有没有办法使用 sqlite3 模块来规避这个问题?

提前致谢。

最佳答案

你可以使用 async.queue 吗?

var async = require('async');

var q = async.queue(function(task, callback) {
    db.exec(task.query, function(err) {
        callback('Insertion failed.');
    });
    callback();
}, 1);

q.drain = function() {
    console.log('queue is empty, ready for more query');
};

q.push({query: "Your SQL INSERT query"}, function(err) {
    console.error(err);
});

关于javascript - Node.js 中 sqlite 数据库的异步 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40005217/

相关文章:

mysql - 如何让 sequelize.sync() 省略一些模型?

image-processing - 在 node.js 中调整图像大小

c - 异步 MPI_Irecv 的 MPI_Waitall 错误

ios - 如何等待 Swift 3 中的 Firebase 异步读取调用?

javascript - 在 Node.js 中强制使用顺序代码

javascript - 如何使用 Google 脚本查找天数差异

javascript - 从元素数组 Protractor 中获取文本

javascript - 将 JWT 从 AngularJS 发送到 Node.js

javascript - 按特定键值对对象数组排序 | Javascript

javascript - 使用 ajax 或 localstorage in rails 将值传递给另一个页面