在Javascript最佳实践中传递回调函数

时间:2017-03-02 05:43:17

标签: javascript oop callback

所以我是Javascript中面向对象和功能编程的新手,我不确定我是否遵循最佳实践。

以此代码为例:

class MyClass {
  constructor(a, b) {
    this.a = a
    this.b = b   
  }

  func1() { 
    someService(this.func2, this)   
  }

  func2(val) {  
    this.a = val
  } 
}

function someService(callback, callbackObj) {
    /// Do some work
    callback.call(callbackObj, val) 
}

为了这个'要在调用回调时正确设置,someService不仅需要对回调(func2)的引用,还需要对拥有该回调的对象的引用 - 并且必须使用' call&#调用它39;

这意味着我不仅要传递回调函数,还要传递拥有它的对象到服务。所以我的代码库现在变得混乱了回调'和' callbackObj'无处不在 - 看起来有点痛苦,而且工作并不好玩或优雅。

在Javascript中有更好/更清晰的回调方法吗?

0 个答案:

没有答案