请教一下,计时器中回调函数如果是匿名函数如何一定条件下取消计时器


请教一下,计时器中回调函数如果是匿名函数如何一定条件下取消自身,官方只说明了回调函数是非匿名函数的方法,但是非匿名函数this接收不到局部let出来的参数。

arguments.callee 能用但有没有更好的方法


还是说arguments.callee就是最好的解决办法了

  1. 计时器尽量不要使用匿名函数
  2. 使用成员函数最佳
  3. 计时器的执行环境 this 就是当前组件
  4. 闭包了解一下
  5. function.bind(this) 了解一下
3赞

还是没搞懂,怎么让作为回调的成员函数接收到局部的变量

  let a = 1;
    let cb = () => {
        cc.log(a);
    }
    this.schedule(cb, 1);

    this.scheduleOnce(() => {
        this.unschedule(cb);
    }, 2)
1赞

是可以嗷 我把成员函数写到外面去了,写到类下了

function.bind() 也挺方便,传什么过去,里面的this就是什么
call和apply可以给回调成员函数传参 就是会报错

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。