由一次倒计时计时器没有销毁造成的小程序生产事故
由一次倒计时计时器没有销毁造成的小程序生产事故
~
有经验的开发者对于前端逻辑中计时器的使用及注意事项想必是非常清楚的,那就是计时器设置后一定要记得临走的时候清理掉
这个临走的时候就是说,在页面page销毁的时候,要记得清理页面内的所有计时器
对于小程序而言,就是在page 的销毁生命周期函数中完成这一操作
~
谈了上面这些内容,接下来谈谈本次生产事故场景,就是答题小程序,设置了倒计时,10个题,每个题20秒,如果20秒内没有作答,会自动跳转到下一题。
在这个场景下,如果用户做了一部分,比如做了8个题,然后有事情退出了,当计时器没有清理的时候,第九题,第十题,会由于计时器的自动操作,把当次作答的记录提交到集合里面,用户在小程序非销毁的情况下,又回到小程序,会看到一个提交提示
这是不能容忍的
~
通过本次生产事故复盘,让我对小程序的计时器有了更深的认识,同时也对日常开发提出了更高的要求