HTTP模块介绍
支持http协议的更多特性
不缓存请求和响应
API比较底层处理流相关,信息解析
HTTP相关概念
回调
将函数作为参数传到执行函数中,参数函数在执行函数中嵌套执行
function learn(something){ ???console.log(something);}function we(callback,something){ ???something+=‘ is cool‘ ???callback(something)}//具名函数we(learn,‘Nodejs‘)//匿名函数we(function(something){ ???console.log(something)},‘hello‘)
同步/异步
JavaScript中的异步函数
//在指定间隔内执行一次setTimeout(function(){ ??alert(‘1‘)},2000)
//在执行间隔内重复执行,但是需要关闭alert,不会弹出N个setInterval(function(){ ??alert(‘1‘)},2000)
同步
任务顺序执行,等待上一个执行完成再执行下一个
//同步var c=0function print(){ ???console.log(c)}function plus(){ ???setTimeout(function(){ ???????console.log(‘aaa‘) ???},1000) ???c+=1;}plus()print()
异步
每个任务都有多个回调函数,前一个任务执行完毕后不执行下一个任务,而是执行回调函数;后一个任务按照任务的排列顺序执行,不会等待上一个任务执行完毕
//异步,任务执行完成后执行回调函数var c=0function print(){ ???console.log(c)}function plus(callback){ ???setTimeout(function(){ ???????c+=1; ???????callback() ???},1000) ???console.log(‘a‘)}plus(print)
I/O
磁盘上数据读写
单线程/多线程
一次只能进行一个请求和响应
多个请求和响应同时进行
阻塞/非阻塞
阻塞:客户端一直等待服务端响应
非阻塞:请求无响应就去干别的,过段时间再请求
事件
点击,移动等操作
事件驱动
函数在事件发生的时候执行
基于事件驱动的回调
函数中的回调函数
事件循环
密集任务异步执行放到loop队列,单线程不断查询loop队列
05慕课网《进击Node.js基础(一)》HTTP概念进阶
原文地址:https://www.cnblogs.com/-beauTiFul/p/9095520.html