亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:128日期: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
相關文章:
主站蜘蛛池模板: 日本黄色www | 91久久综合九色综合欧美亚洲 | 精品中文字幕在线观看 | 五月天婷婷在线视频国产在线 | 女人被男人狂躁的免费视频 | 一级片免费 | 亚洲一区二区三 | 久久88香港三级 | 久久久久777777人人人视频 | 中日韩欧美中文字幕毛片 | 特大巨黑人吊性xxx视频 | 亚洲免费影视 | 全部免费特黄特色大片视频 | 国产原创中文字幕 | 日本高清在线一区 | 国产成人短视频在线观看免费 | 又粗又大又爽 真人一级毛片 | 99热国产这里只有精品9九 | 色婷婷色99国产综合精品 | 国产午夜精品久久久久免费视 | 久久精品免费观看 | 国自产拍在线天天更新2019 | 亚洲欧美日韩闷骚影院 | 成人精品视频一区二区在线 | 日本美女视频韩国视频网站免费 | 97视频免费在线 | 麻豆com | 黄欧美| 91网站桃色 | 免费亚洲一区 | 久久66热re国产毛片基地 | 九九九九九九 | 精品欧美一区二区三区在线观看 | 欧美日韩1区2区 | 久久精品视频6 | 欧美性生大片免费观看 | 欧美成人亚洲高清在线观看 | 精品一区二区三区四区乱码90 | 亚洲啪啪网站 | 在线观看欧美三级 | 美女拍拍拍无遮挡 |