暂无搜索历史
vue3: https://gitee.com/wanyicheng666/code-comments/tree/master/Vue
// 看下vue的异步组如何实现的 // implementation, close to no-op // 外部调用API function defineC...
// vue是如何把一个type是一个组件配置对象的vnode变成实际可以被插入到dom树中的vnode的呢? /** * 我们一般会这样声明一个root组件...
// vnode定义:一种模拟dom节点的数据结构,其中包含的信息可以支撑vue去生成实际的dom节点,并正确同步所有用户设置的信息到dom上。 // 来看看v...
总结一下:vue中的事件队列分3种,vue内部实现中主要是把render函数的包裹体effect放到queue队列中。
总结:组件实例上的 emit 方法其实就是调用props中从父组件传进来的一个箭头函数。
总结:Vue3中的数据响应式实现是一个较为独立的实现,适合单独分析学习哈。上文是删除了部分支线逻辑的版本,只保留了主线逻辑,大家如果想看完整的实现,还是建议去读...
可以看到,目前只是直接对组件实例的data做了一次代理,handlers在普通对象情况下为 baseHandlers
从Vue官网得到源码(https://unpkg.com/vue@next),拷贝到本地文件,然后创建如下html:
每一种都是一种hanlder类型或者request类型,代表某种资源类型或者请求操作的包装结构体,里面的属性字段是为了支持它可以正常工作的而设置的:
1. init初始化一个 idle handler, start目标handler ,同时绑定执行函数 wait_for_a_while;
工作函数 uv__fs_work 做的事情很简答 根据要做的操作类型做对应的操作函数调用,uv__fs_read 根据系统类型采取合适的读取函数,可以简单的视为...
简单来说就是调用linux系统的:getifaddrs 和 freeifaddrs,读取系统的网卡接口信息,然后拷贝到用户的缓冲区中,然后再释放函数内部的内存。...
根据参数设置新线程的堆栈大小,然后调用系统接口创建对应的线程,然后释放线程属性变量
2. 创建2个读者 1个写者 根据读写锁 被系统调度分配执行时机 输出对应自己的读到或者写后的值
可以看到 fs_event_s 也是由基础的handler和一个path 以及 它独有的字段组成
功能很简单:载入启动参数中对应的插件动态库,调用它们的 initialize 方法
其实就是调用 uv__work_submit 提交一个任务给任务队列,跟loop的io事件多线程异步化一样的处理逻辑,这里2个cb分别对应work和done函数...
主要包含 timercb 和用于最小时间堆节点字段heap_node等;它由一个基础hanlder类型和自身独有的属性构成
总结:信号处理handler是被插入到红黑树中,按照一定规则排序插入的,信号越小,不带oneshot等规则。信号处理函数统一触发信号管道可读,然后loop从信号...
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市