如何解决Javascript - 获取属性或函数所有者的对象
我将回调传递给 setTimeout 并且在内部我需要确定谁拥有这个回调。例如:
class Test1 {
func1() {
console.log('test1');
}
complete() {
console.log('complete');
}
}
function test2() {
console.log('test2');
}
function timeout(callback,delay) {
setTimeout(() => {
callback();
callback.getowner()?.complete();
},delay);
}
在这种情况下,我需要返回这个回调的所有者才能执行完整的()函数。
let obj = new Test1();
timeout(obj.func1.bind(obj));
timeout(test2);
我知道 complete() 可以在 func1() 里面完成,就像这样:
class Test1 {
func1() {
console.log('test1');
this.complete();
}
complete() {
console.log('complete');
}
}
但这只是一个小例子。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。