首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点mariasql查询不会终止/是否mariadb.end()功能等待所有查询

节点mariasql查询不会终止/是否mariadb.end()功能等待所有查询
EN

Stack Overflow用户
提问于 2013-08-13 18:34:34
回答 1查看 895关注 0票数 0

我正在使用节点运行以下脚本:

代码语言:javascript
复制
var mariadb = require("mariasql");
var db = new mariadb();
db.connect({
    host: "localhost",
    user: "root",
    password: "bus1708v2.0",
    db: "test"
});

db.query("INSERT INTO Persons (LastName, FirstName) VALUES ('Some', 'Name')")
    .on("result", function(result){
        result.on("end", function(info){
            console.log(info);
            console.log(result);
        });
    });

它成功地插入到数据库中,但我必须按ctrl-c来终止脚本。

更新

我刚刚意识到我需要把db.end()放在最后面

在本例中,db.end()是否等待所有查询完成?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-13 18:42:05

试着打

代码语言:javascript
复制
db.end();

一旦您完成了对数据库的写入,因为驱动程序保持连接打开,从而阻止Node.js关闭。所以你的代码应该是

代码语言:javascript
复制
db.query("INSERT INTO Persons (LastName, FirstName) VALUES ('Some', 'Name')")
    .on("result", function(result){
        result.on("end", function(info){
            console.log(info);
            console.log(result);
            db.end();
        });
    });

或者,只需将对db.end();的调用放到示例的最后一行。根据文档,驱动程序只在所有排队命令运行后才关闭连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18216603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档