1.什么是回调
2.什么是同步/异步
3.什么是I/O
4.什么是单线程/多线程
5.什么是阻塞/非阻塞
6.什么是事件
7.什么是事件驱动
8.什么是基于事件驱动的回调
9.什么是事件循环 [eventloop]
参照:https://www.cnblogs.com/sxz2008/p/6513619.html
https://www.jianshu.com/p/20868689bc0c
https://blog.csdn.net/qq_15267341/article/details/52550897
回调
function we(cb,sth) {
sth += 'is cool'
cb(sth)
}
we((sth)=>{
console.log(sth)
},'node')
I/O
磁盘里面数据的写入和输出,在node中,本质上就是为文件系统,数据库之类的资源提供接口,向文件系统发送一个请求时,不用等待硬盘,等硬盘准备好时,非阻塞接口会通知到node
非阻塞/阻塞
比如你给书店老板打电话,问有没有白夜行这本书,老板说你等一下,我查一下。
阻塞:老板去查有没有这本书时,你什么事情也不做,就等在电话边
非阻塞:老板去查时,你该做啥做啥
事件驱动
浏览器:点击,拖拽窗口
node: server连接,读文件时......
eventloop 回调队列
按照被加入的顺序执行
网友评论