gpt4 book ai didi

node.js - node-mysql 中的阻塞行为

转载 作者:搜寻专家 更新时间:2023-11-01 00:43:11 24 4
gpt4 key购买 nike

我正在玩 node.js 和 node-mysql,我想了解以下内容:

connection.connect(function(err) { if (err) throw err; });
console.log(" beginn insert "+ Date() );
for (var i=0;i<200;i++){
connection.query('INSERT INTO animals SET ?', {name: "tiger!"});
}
connection.end();
console.log(" end insert " + Date() );

输出始终是“beginn insert”,紧接着是“end insert”,然后只有数据库开始工作。这些node-mysql语句怎么可能看起来是非阻塞的呢?

谢谢,菲利克斯

最佳答案

Node 本身对于 IO 是非阻塞的,因此诸如此类的查询不会阻塞。相反,您需要在查询完成时传递一个回调函数:

var queries = 0;
connection.query("INSERT INTO animals SET ?", {name: "tiger!"},
function (err) {
// handle error?
queries++;
if (queries == 200) {
// Last query has finished running
}
});

关于node.js - node-mysql 中的阻塞行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652526/

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