亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

javascript - 關于用mysql模塊連接數據庫的一點疑問

瀏覽:159日期:2023-09-17 13:26:33

問題描述

看實例代碼是這樣子的;

const mysql = require(’mysql’);exports.base = (sql, data, callback) => { // 創建數據庫連接 let connection = mysql.createConnection({host: ’localhost’, //數據庫所在的服務器域名或者IPuser: ’root’, //用戶名password: ’’, //密碼database: ’book’ //數據庫名稱 }); // 執行連接動作 connection.connect(); // 執行數據庫操作 connection.query(sql, data, (err, rows) => {if (err) throw err;callback(rows); }); // 關閉數據庫 connection.end();}

感覺應該是下面這樣的啊

const mysql = require(’mysql’);exports.base = (sql, data, callback) => { // 創建數據庫連接 let connection = mysql.createConnection({host: ’localhost’, //數據庫所在的服務器域名或者IPuser: ’root’, //用戶名password: ’’, //密碼database: ’book’ //數據庫名稱 }); // 執行連接動作 connection.connect(); // 執行數據庫操作 connection.query(sql, data, (err, rows) => {if (err) throw err;callback(rows);// 關閉數據庫connection.end(); }); }

就是感覺 數據庫關閉連接應該是在查詢的回調里面完成啊,如果像第一種寫法,查詢還沒結束,就關閉數據庫,是不是不妥呢,這個mysql模塊內部原理不是很清楚;望大家解惑啊;

問題解答

回答1:

文檔:

Closing the connection is done using end() which makes sure all remaining queries are executed before sending a quit packet to the mysql server.

所以,調用了end()不會馬上關閉連接,要等剩余的查詢執行完才關閉,該觸發的回調還是觸發。destroy()才是直接關閉連接。

具體實現就是把全部操作都放到隊列里執行,end()只是把一個Quit操作放入隊列,Quit操作執行完之后才真正關閉。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 亚洲国产精品综合久久 | 91网站网站网站在线 | 在线观看国产精品入口 | 久久99亚洲精品久久久久 | 一级a毛片免费观看久久精品 | 国产精品情侣久久婷婷文字 | 26uuu欧美日韩国产 | 男女性高爱潮免费的国产 | 精品小视频在线观看 | 视频亚洲一区 | 国产做爰一区二区 | 欧美自拍网 | 日本xxxb孕交 | 国产在线播放免费 | 114一级毛片免费 | 国产精品亚洲高清一区二区 | 成人免费网址在线 | 国产精品无码久久av | 九九精品视频在线播放8 | 亚洲精品一 | 免费观看欧美一级毛片 | 久草在线中文视频 | 精品国产亚洲一区二区在线3d | 亚洲免费一区 | 91九色成人 | 国产一区二区三区在线视频 | 国产在线高清不卡免费播放 | 久草在线视频中文 | 网站午夜 | 亚洲欧美7777 | 免费观看一级成人毛片软件 | 亚洲丝袜另类 | 国内精品国语自产拍在线观看55 | 国产精品一区高清在线观看 | 国产精品高清全国免费观看 | 中文字幕毛片 | 香港激情三级做爰小说 | 日本黄页网站免费大全 | 亚洲精品成人网久久久久久 | 91看片淫黄大片.在线天堂 | 999成人国产精品 |