纸上得来终觉浅

38 篇文章
2.6K 次阅读
16 人订阅

全部文章

wanyicheng

一些库的源码阅读笔记

vue3: https://gitee.com/wanyicheng666/code-comments/tree/master/Vue

4900
wanyicheng

Vue3源码阅读笔记之异步组件

9010
wanyicheng

Vue3源码阅读笔记之组件是如何实现

13910
wanyicheng

Vue3源码阅读笔记之vnode定义

10010
wanyicheng

Vue3源码阅读笔记之事件队列

总结一下:vue中的事件队列分3种,vue内部实现中主要是把render函数的包裹体effect放到queue队列中。

9810
wanyicheng

Vue3源码阅读笔记之$emit实现

总结:组件实例上的 emit 方法其实就是调用props中从父组件传进来的一个箭头函数。

12310
wanyicheng

Vue3源码阅读笔记之数据响应式

总结:Vue3中的数据响应式实现是一个较为独立的实现,适合单独分析学习哈。上文是删除了部分支线逻辑的版本,只保留了主线逻辑,大家如果想看完整的实现,还是建议去读...

6910
wanyicheng

Vue3源码阅读笔记之整体执行顺序简介(2)

可以看到,目前只是直接对组件实例的data做了一次代理,handlers在普通对象情况下为 baseHandlers

11810
wanyicheng

Vue3源码阅读笔记之整体执行顺序简介(1)

从Vue官网得到源码(https://unpkg.com/vue@next),拷贝到本地文件,然后创建如下html:

7510
wanyicheng

libuv源码阅读(23)--tcp-echo-server

listen完了之后run loop等待socket可读,新连接到来,执行指定回调

9340
wanyicheng

libuv源码阅读(22)--spawn

总结:父进程fork出子进程去执行指定的文件或者应用,双方根据参数设置的共享fd来通信,这个示例比较简单,父进程只需要等待结束捕获信号就可以了。

9640
wanyicheng

libuv源码阅读(21)--uvtee

uv_write_s 类型是由普通ref以及cb和一些写操作有关的信息组成,然后它需要一个 uv_stream_t* handle 来配合使用。

7210
wanyicheng

libuv源码阅读(20)--uvcat

8510
wanyicheng

libuv源码阅读(19)--vustop

5310
wanyicheng

libuv源码阅读(18)--progress

总结:用户自己初始化的async handler 也可以被插入到异步handler队列中,当管道[0]可读的时候,代表某个异步handler可以处理了,这时候遍...

3710
wanyicheng

libuv源码阅读(17)--queue-cancel

总结:cancel把会work从待处理的队列中移动到loop的wq就绪队列中,然后让loop的异步任务handler来处理它

4710
wanyicheng

libuv源码阅读(16)--signal

总结:信号处理handler是被插入到红黑树中,按照一定规则排序插入的,信号越小,不带oneshot等规则。信号处理函数统一触发信号管道可读,然后loop从信号...

5210
wanyicheng

libuv源码阅读(15)--ref-timer

主要包含 timercb 和用于最小时间堆节点字段heap_node等;它由一个基础hanlder类型和自身独有的属性构成

4510
wanyicheng

libuv源码阅读(14)--queue-work

其实就是调用 uv__work_submit 提交一个任务给任务队列,跟loop的io事件多线程异步化一样的处理逻辑,这里2个cb分别对应work和done函数...

5110
wanyicheng

libuv源码阅读(13)--plugin

功能很简单:载入启动参数中对应的插件动态库,调用它们的 initialize 方法

5110

扫码关注云+社区

领取腾讯云代金券