解決nodejs的Connection lost: The server closed the connection

前言

這是由於mysql自帶的一段時間無動作會自動關閉的機制

解決

使用閉包可以完美解決問題

var mysql = require('mysql')

var sqlConfig = {
    host: 'localhost',
    user: 'root',
    password: 'pwd',
    database: 'dbbase'
}

var conn = function(){
    let connection = mysql.createConnection(sqlConfig)
    connection.connect()
    connection.on('error',err=>{
        if (!err.fatal) {
            return;
        }
        if (err.code !== 'PROTOCOL_CONNECTION_LOST') {
            throw err;
        }
        console.log('Re-connecting lost connection: ' + err.stack);
        connection = mysql.createConnection(sqlConfig)

    })
    return function(){
        return connection
    }
}


module.exports = conn()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章