javascript - 如何从匿名函数访问对象实例

标签 javascript node.js

我正在处理以下情况。

我必须使用类中的方法,但我也必须调用回调... 查看代码,我创建了 _this var,因为我不知道如何从匿名函数内部访问 DeviceAnalyzer 实例...

还有别的办法吗?我觉得我做的方式有点恶心哈哈

DeviceAnalyzer.prototype.pingProcess = function(deviceInfo, callback) {
    var _this = this;
    netutils.ping(host.ipAddress, function(isAlive) {
        deviceInfo.isAlive = isAlive
        _this.emit('device', deviceInfo);
        callback(null, deviceInfo);
    });
};

最佳答案

使用 ES6 和匿名函数,您不必设置或绑定(bind)它。

DeviceAnalyzer.prototype.pingProcess = function(deviceInfo, callback)    {
  netutils.ping(host.ipAddress, (isAlive) => {
      deviceInfo.isAlive = isAlive
      this.emit('device', deviceInfo);
      callback(null, deviceInfo);
  });
};

关于javascript - 如何从匿名函数访问对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34791718/

相关文章:

node.js - 在 Express 中捕获非法 JSON POST 数据?

javascript - Angular 中的嵌套值/键 ng-repeat

javascript - 运行脚本以打开另一个脚本文件

javascript - 我如何获取输入文本值并在 javascript 函数中传递按钮 onclick 方法按值传递

JavaScript(使用innerHTML 添加到div) 如果更改此代码,我会提高cordova 应用程序的速度吗?

javascript - iPad 在 chrome 中打印整个页面而不是目标 div

node.js - KoaJs 无法处理 CloudFunctions 上的 POST 请求

node.js - 在接受请求之前等待数据库连接

node.js - Babel 无法使用 Mocha 并启动 Node 服务器

jquery - 使用jQuery从网站抓取时,该网站是否需要引用jQuery