js线程的相关学习

setTimeOut解析项目中不少地方肯定都会用到setTimeOut,但是目前只知道它是延时执行方法,具体它的一些特性还是不了解,今天没事就学习一下吧!参考链接:浏览器多线程和js单线程参考链接:setTimeout的原理及在JavaScript线程执行队列中的位置浏览器多线程和js单线程1、JavaScript引擎线程(主线程):主线程同步执行,其它线程异步执行,等主线程代码执行完...
摘要由CSDN通过智能技术生成
浏览器多线程和js单线程

参考链接:浏览器多线程和js单线程
参考链接:setTimeout的原理及在JavaScript线程执行队列中的位置
1、JavaScript引擎线程(主线程):
主线程同步执行,其它线程异步执行,等主线程代码执行完再从消息队列中获取结果继续执行;所以settime里的内容永远会等到主线程结束后再执行;
2、GUI渲染线程(一定和主线程互斥,不能同时执行):
dom操作的代码会在事件队列中生成一个任务,js执行到这个任务时就会去调用GUI引擎渲染.
3、浏览器事件触发线程
4、Http请求线程

setTimeOut解析

setTimeOut中的方法只会在主线程完成后才开始执行;

	let nodeHandle = findNodeHandle(ref);
    if (nodeHandle) {
        NativeModules.ModuleName.nativeMethod(nodeHandle);
    }

1、调用findNodeHandle方法只能在componentDidMount后执行(才可以操作虚拟dom);
2、rn执行nativeMethod时如果需要传入nodeHandle,必须等js主线程结束才有效,比如可以在settimeout中执行该方法;

findNodeHandle

https://www.cnblogs.com/zhiyingzhou/p/7471212.html

一些性能优化

https://www.jianshu.com/p/d479e7c52b95

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值