Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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
Javascript Meteor js类和内容_Javascript_Node.js_Class_Meteor - Fatal编程技术网

Javascript Meteor js类和内容

Javascript Meteor js类和内容,javascript,node.js,class,meteor,Javascript,Node.js,Class,Meteor,我试图在我的项目中使用meteor类。在我的类中,im使用一个npm模块nodeEmailer,它提供了一个自定义处理程序,用于如下设置套接字: var nodemailer = require('nodemailer'); var transport = nodemailer.createTransport({....}); transpot.getSocket = function (options, callback) { // <-- here console.log(

我试图在我的项目中使用meteor类。在我的类中,im使用一个npm模块
nodeEmailer
,它提供了一个自定义处理程序,用于如下设置套接字:

var nodemailer = require('nodemailer');

var transport = nodemailer.createTransport({....});

transpot.getSocket = function (options, callback) {  // <-- here
   console.log('get socket');
}

问题是,当从模块调用
transport.getSocket
时,会丢失包含所有变量和方法的类上下文。有没有一种方法可以在不丢失类上下文的情况下将模块函数附加到类对象方法上?

这应该可以通过。试试这个:

    this.transport.getSocket = this.getSocket.bind(this);

这可能是使用bind的正确方法,也可能不是,但希望这能引导您进入正确的方向。

谢谢您的帮助。现在我开始了解如何解决上下文问题
    this.transport.getSocket = this.getSocket.bind(this);