nodejs で nodejs と mysql クライアントを使用しています。mysql モジュールのプール関数を使用しようとしています。
"use strict";
var mysqlClient = require('mysql')
, dbPool = mysqlClient.createPool(require('../config/database'));
function MyModel(params) {
this.tbl = params.tbl;
this.primary_key = params.primary_key;
this.primary_name = params.primary_name;
this.dbPool = dbPool;
}
module.exports = MyModel;
//primary key
MyModel.prototype.fromPK = function fromPK(pk, callback) {
this.dbPool.getConnection(function (err, connection) {
var query = "SELECT * FROM " + this.tbl + " WHERE " + this.primary_key + " = " + connection.escape(pk);
connection.query(query, callback);
});
};
this
getConnection の内部にアクセスできないことはわかっています。単純にその外部に設定して var t でアクセスできますが、この状態で var にvar t = this
アクセスする他の方法はありますか。作成する各プロトタイプ関数でthis
定義する必要がありますか?var t = this
詳細な要点をフォローしています https://gist.github.com/yalamber/6bd1df0cc27849eb09b3