这是两个在同事代码中发现的普遍现象,示意如下,这里有两个地方需要注意:
1、页面中通过setTimeout、setInterval来创建出来的定时器,一定要记得在合适的时间点进行清除处理,至少在离开当前页面时应检测下对应定时器是否存在,如果存在则通过对应的clearTimeout、clearInterval方法来进行定时器的清除。这里有一种例外,那就是需要全局留存的定时器,但这种场景非常少见,一般也不会在独立页面逻辑中进行触发。
2、第二种情况是不要对promise链进行无意义的catch,这会导致相关的错误无法被上报到错误上报平台。注意这里针对的是无意义catch,有些特定业务场景下的catch可能还是需要的,不过,一个通常更好的方式是,针对最小量的特定代码进行独立的try catch处理。