gpt4 book ai didi

javascript - SQLite回调高效解决方案

转载 作者:行者123 更新时间:2023-11-30 06:34:55 25 4
gpt4 key购买 nike

我想使用 JavaScript 运行一系列 SQLite 查询。这些查询获取几个表的最新更新时间戳。例如:

SELECT last_updated FROM students ORDER BY last_updated DESC LIMIT 1;

SELECT last_updated FROM docs ORDER BY last_updated DESC LIMIT 1;

SELECT last_updated FROM logs ORDER BY last_updated DESC LIMIT 1;

SELECT last_updated FROM requests ORDER BY last_updated DESC LIMIT 1;

然后我会将这些 last_updated 时间戳发送到服务器。当我想到如何做到这一点时,我会使用这样的东西:

var message = {};
sql('QUERY 1',[],function(row){
message.q1 = row.shift().shift(); // first row, first item
sql('QUERY 2',[],function(row){
message.q2 = row.shift().shift();
sql('QUERY 3',[],function(row){
message.q3 = row.shift().shift();
sql('QUERY 4',[],function(row){
message.q4 = row.shift().shift();
$.ajax('submit.php',{ // tell the server these things.
data: message,
type: 'POST',
success: function(response) {
console.log('Server replied: '+response+'\n');
},
error: function() {
console.log('HUHU.\n');
}
}
});
});
});
});

这可行,但我发现由于嵌套的 SQL 调用,效率非常低。在某些情况下,我可能需要来自 10 个不同表的数据。

有没有更有效的方法?

最佳答案

对于此类嵌套结构,您可以使用类似 step 的东西.

它将允许您使用如下语法:

Step(
function readSelf() {
fs.readFile(__filename, this);
},
function capitalize(err, text) {
if (err) throw err;
return text.toUpperCase();
},
function showIt(err, newText) {
if (err) throw err;
console.log(newText);
}
);

关于javascript - SQLite回调高效解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15204542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com