[笔记]记录react native 事件处理顺序(settimeout,promise,then,手势事件)

以下信息主要做笔记记录,未详细整理文字,仅供参考。

流程是我使用自定义的滑动杆组件,在抬起的事件中执行testEventLoop方法(代码见图3),抬起手指后,迅速再次拖动滑动杆,这时因为JS线程阻塞,导致需要等testEventLoop方法中代码全部走完,手势事件才会发给自定义组件,导致了较长时间的响应滞后。

第一步确认promise的then里面跑代码依然阻塞JS线程,影响手势事件的开始。

当我给promise加了await时,执行顺序时123,去掉await是132

定时器 在最后才跑

我是把InteractionManager.runAfterInteractions去掉后测得,如果加上这个方法,方法中的代码像是又增加了任务 ,会被推迟执行,promise中的runafterinteractions中的代码也会推迟到前面标记的3后面执行。

也是等then里面跑完 才会收到touches

也测试了then中InteractionManager.runAfterInteractions中的代码,也是会阻塞的.原因:这个代码块开始的时候  交互实际上还没开始

这个函数使里面的循环推迟约3毫秒执行

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值