问题描述
我将回调传递给 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 (将#修改为@)