执行多个setTimeout事件,第一个会失效

https://img3.mukewang.com/5c8223530001188a07460799.jpg

我脑洞大开的加了(),似乎就解决失效的问题,但是会报错 setTimeout(...) is not a function



componentDidMount(){

    const props = this.props;

    this.timer = setTimeout(()=>{

        this.props.onRemove(props.item.id)

    }, 3000)();

}


动漫人物
浏览 1123回答 2
2回答

慕少森

setTimeout是存储在data中的timer中的,所以在每次使用到定时器的时候应该这么用:clearTimeout(this.timer); //不管有没有在运行的定时器,先清除总没错this.timer = setTimeout(...); //再开一个定时器希望能帮助到你!

子衿沉夜

setTime不是方法,自调用当然不行啦;至于为啥删不掉,由于不知道你的删除方法是什么,我只能试验下setTimeout,发现每个组件都能运行。所以我觉得可能是你的删除方法的问题吧。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript