使用函数实现本机超时

时间:2016-10-11 00:12:32

标签: time react-native

我一直试图让Timeout在我的本机项目中工作,我使用了SO并找到了许多答案,解释说你必须让它返回一个函数,所以它必须看起来像这样

            setTimeout(function(){this.countLosses(counter, losses)},1000);

与...相关

            setTimeout(this.countLosses(counter, losses),1000);

然而,当我运行前者时,我得到一个undefined不是一个函数,当我按预期运行后者时,超时无法正常工作。

我试图调用的函数看起来像是

countLosses(counter:number, losses:array){
        if (counter<5) {
            this.clicked(losses.pop())
            counter=counter+1;
            setTimeout(function(){this.countLosses(counter, losses)},1000);
        }else{
            this.state = {
        animateTime: false,
        selected:[],

         }
        }
}

1 个答案:

答案 0 :(得分:0)

好的,我终于明白了

你必须添加bind然后在括号中添加

所以

setTimeout(this.countLosses.bind(this,counter, losses),1000);