【发布时间】:2017-12-17 02:17:24
【问题描述】:
我试图管理一个连接实例,使用一个函数来处理空闲连接断开问题,使用 mysql 数据库和 node.js
目前,我有以下代码(咖啡脚本):
mysql = require 'mysql'
handleDisconnect = () ->
connection = mysql.createConnection
host: 'localhost'
user: 'root'
password: 'passroot'
database: 'mydb'
connection.connect (err) ->
if err
console.log 'Error connecting to db: ', err
setTimeout handleDisconnect, 2000
connection.on 'error', (err) ->
console.log 'db error', err
if err.code == 'PROTOCOL_CONNECTION_LOST'
handleDisconnect()
else
throw err
handleDisconnect.instance = connection
module.exports = handleDisconnect
和
express = require 'express'
router = express.Router()
connection = require('../database')().instance
bcrypt = require 'bcryptjs'
router.post '/', (req, res) ->
credential = connection.escape req.body.credential
password = connection.escape req.body.password
res.send credential+password
module.exports = router
问题是,当我尝试访问路由时,出现以下错误:
无法读取未定义的属性“转义”
我做错了什么?
【问题讨论】:
-
把
handleDisconnect.instance = connection改成@instance = connection还能用吗?自从我做任何咖啡脚本以来已经有很多年了 -
错误依旧
-
把
return @贴在handleDisconnect的末尾? -
都不返回@instance = connection 或@instance = connection work
-
两者一样,或者只是访问
connection而不是打扰实例,like so
标签: javascript node.js function coffeescript nested