RN中的几种定时器

原创 2016年06月01日 17:49:17

第一类,加入定时器中的任务可能会延迟当前正在进行的动画。
1、setTimeout, clearTimeout
2、setInterval, clearInterval
3、setImmediate, clearImmediate
4、requestAnimationFrame, cancelAnimationFrame
使用:在需要的地方或者在componentDidMount 中用前面的方法(分别是setTimeoutsetIntervalsetImmediaterequestAnimationFrame)开启定时器,通常是:

componentDidMount() {
    this.timer = setTimeout(
      () => { console.log('把一个定时器的引用挂在this上'); },
      500
    );
  }
``` 把定时器的引用挂在this上。注意,在组件被销毁的时候晴空定时器:





<div class="se-preview-section-delimiter"></div>

这里写代码片
“`

componentWillUnmount() {
    // 如果存在this.timer,则使用clearTimeout清空。
    // 如果你使用多个timer,那么用多个变量,或者用个数组来保存引用,然后逐个clear
    this.timer && clearTimeout(this.timer);
  }

requestAnimationFrame():在一段时间内只执行一次,在每帧刷新之后执行。
setTimeout():只执行一次,会尽可能快的执行。
setImmediate():只执行一次,立即执行。
setInterval():每隔设定的时间便会执行一次,不是立即执行。

第二类,在稍后执行,不会延迟当前进行的任务。

InteractionManager.runAfterInteractions(() => {
   // ...需要长时间同步执行的任务...
});
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

《React-Native系列》18、 RN之定时器Timer

在web开发中,我们通常需要使用定时器功能,使用setTimeout和setInterval函数。 那么在ReactNative中,是否也提供了定时器的功能呢? 答案是肯定的。 我们还是先...

RN实现轮播器

ImageData.json { "data": [ { "img" : "goods_161203200655102x", "title" : "开走不谢,快,...
  • callzjy
  • callzjy
  • 2016年12月17日 18:02
  • 773

关于react native 循环动画无法使用InteractionManager的解决办法

最近react native项目中的首页有一个跑马灯的需求,即在轮播图的下方有一个公告,文字能够从左到右循环滚动;于是借助开源的力量,使用了github中的一个module: https://g...
  • Xiongtm
  • Xiongtm
  • 2017年05月12日 09:09
  • 853

React Native坑之(设置请求的连接超时时间)

前言:好不容易rn算是入门了,可能是由于前面ios限制热更新的影响,导致大领导一句话:“防止后期可能存在的风险,所有rn项目不做啦!!“这尼玛就尴尬了~不过没关系,继续做我的原生android,当然,...
  • vv_bug
  • vv_bug
  • 2017年03月13日 16:25
  • 5014

《React-Native系列》18、 RN之定时器Timer

在web开发中,我们通常需要使用定时器功能,使用setTimeout和setInterval函数。 那么在ReactNative中,是否也提供了定时器的功能呢? 答案是肯定的。 我们还是先看...

Linux下实现定时器Timer的几种方法

定时器Timer应用场景非常广泛,在Linux下,有以下几种方法: 1,使用sleep()和usleep() 其中sleep精度是1秒,usleep精度是1微妙,具体代码就不写了。使用这种方法缺点...
  • lxmky
  • lxmky
  • 2012年06月16日 18:07
  • 38796

Android定时器实现的几种方式整理及removeCallbacks失效问题解决

本文为大家详细介绍下Android 定时器实现的几种方式:Handler + Runnable、Timer的方式、Handle与线程的sleep(long )方法和removeCallbacks失效问...

Android定时器的几种实现方式

第一种方式利用Timer和TimerTask 1、继承关系 java.util.Timer 基本方法 schedule 例如: ...

js定时器的几种写法

setTimeout()设定一个定时器,在指定时间后执行一段代码。let timeoutId = setTimeout(func,delay,param1,param2,……); timeoutId:...

VC++几种定时器使用方法的归纳

在游戏编写中,我遇到一个现象:在连续按下
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RN中的几种定时器
举报原因:
原因补充:

(最多只允许输入30个字)