所以我是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中有更好/更清晰的回调方法吗?