http概念
2017-04-17 本文已影响1人
Alan蓝
http概念
1、什么是回调函数?
回调试异步编程时的基础
将后续逻辑封装成另外一个函数的参数,做嵌套调用
可以是普通的函数
也可以是匿名函数
2、什么事同步/异步?
同步:发送方发送数据后,等待接收方发回响应以后才发下一个数据包的通讯方式
异步:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式
同步:
打电话 -- 查询 -- (不挂电话)等待 -- 回结果 -- 挂电话
异步:
打电话 -- 查询 -- (挂电话)留号码 -- 回电话 -- 回结果 -- 挂电话
主要应用
ajax异步交互
settimeout setInterval 延迟
3、什么是I/O?
输入,输出流
write和read
in和out
4、什么是单线程/多线程?
一次只能执行一个程序叫做单线程
一次能执行多个程序叫做多线程
5、什么是阻塞/非阻塞?
阻塞:前一个程序未执行完就得一直等待
while(true){
//一直执行某行代码,称为阻塞
}
非阻塞:前一个程序未执行完时可以挂起,继续执行其他程序,等到使用时再执行
6、什么是事件?
一个触发动作(例如点击按钮)
7、什么是事件驱动?
一个触发动作引起的操作(例如点击按钮后弹出一个对话框)
8、什么是基于事件驱动的回调?
只有当事件发生的时候,才会调用回掉函数,
这种函数执行的方式叫做事件驱动~
这种注册回掉就是基于事件驱动的回调
9、什么是事件循环?
管理大量异步操作的机制叫做事件循环
EventLoop:
回调函数队列,异步执行的函数会被压入这个队列;队列被循环查询。
nodejs 非阻塞 单线程 事件驱动
完成时 调用回调函数 完成密集的任务 而不阻塞总体的运行~