Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在js中访问这个内部原型函数_Node.js_Prototype - Fatal编程技术网

Node.js 如何在js中访问这个内部原型函数

Node.js 如何在js中访问这个内部原型函数,node.js,prototype,Node.js,Prototype,我在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 = param

我在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);
  });
};
我知道我无法在getConnection内部访问
,我可以简单地在其外部设置
var t=this
并使用var t访问它,但是在这种情况下是否有其他方法访问
var。我应该在我编写的每个原型函数中定义
var t=this

我有以下详细的要点

您可以使用确定函数中的
内容

详细的语法是:

var newfunction = oldfunction.bind(THIS_OBJECT);
这将使
THIS\u对象
成为
old函数
中的
THIS
对象。如您所见,
.bind()
返回一个新的(绑定)函数

不过,您不需要这种复杂的语法,它也适用于匿名函数:

var newfunction = function() { ... }.bind(THIS_OBJECT);
在您的情况下,您可以使用以下方法:


这使得回调函数内部的
This
与外部的
This
相同。

您可以使用确定函数中的
This

详细的语法是:

var newfunction = oldfunction.bind(THIS_OBJECT);
这将使
THIS\u对象
成为
old函数
中的
THIS
对象。如您所见,
.bind()
返回一个新的(绑定)函数

不过,您不需要这种复杂的语法,它也适用于匿名函数:

var newfunction = function() { ... }.bind(THIS_OBJECT);
在您的情况下,您可以使用以下方法:


这使得回调函数内部的
This
与外部的
This
相同。

有效。非常感谢你。我应该继续学习js这里有很多东西需要学习:)这很有效。非常感谢你。我应该继续学习js这里有很多东西需要学习:)