- 1、本文档共84页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
3.1回调函数
引入酒店提供就餐服务用户选择就餐的方式库函数回调函数
目录01阻塞02非阻塞
回调函数回调函数应用。准备input.txt文件01我们正在学习Node.js!1.require调用文件模块2.readFile()异步读取文件,最后一个参数为回调函数,内部存在err表示错误信息,data为返回值参数思考:这两条语句,谁先输出?创建main.js-异步读取input.txt02varfs=require(fs);fs.readFile(input.txt,function(err,data){if(err)returnconsole.error(err);console.log(data.toString());});console.log(程序执行结束!);示例
阻塞0102单线程执行程序Node.js与单线程阻塞时,在调用结果返回前,当前线程会被挂起,调用会一直等待数据就绪再返回。非阻塞02单线程在程序执行时,程序执行路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。阻塞与非阻塞非阻塞是不需要按顺序执行的,非阻塞调用不能立刻得到结果,无论在什么情况下都会立即返回,该调用不会阻塞当前线程。
阻塞!DOCTYPEhtmlhtmlheadmetacharset=utf-8title阻塞测试/title/headbody/bodyscriptalert(我是一个同步阻塞,当我未关闭的时候,后面的代码都不会被执行!’);console.log(我们都是新时代幸福的人!);/script/html该对话框不关闭,下面的代码将不会被执行阻塞方式执行程序。示例
非阻塞引入非阻塞并不能中断我吃饭
非阻塞!DOCTYPEhtmlhtmlheadmetacharset=utf-8title非阻塞测试/title/headbody/bodyscriptvarimg=newImage();callback=function(w,h){console.log(w,h);};创建一个Image对象,就会生成一个img标签非阻塞方式执行程序。示例
非阻塞img.onload=function(){if(plete){callback(img.width,img.height);}callback(img.width,img.height);document.body.appendChild(img);};img.addEventListener(click,function(){console.log(您单击我了!);})img.src=./pic.jpg;/script/html如果图片加载完成后将调用callback函数将img标签添加到body中对img对象(实际上就是img标签)进行click事件监听为img对象添加属性示例
回调程序callback(){}阻塞与非阻塞小结
3.2异步编程
同步如果每件事情按照顺序依次进行就是同步。起床—看报—吃早餐—上学
异步如果多件事情可以同时进行即异步。起床—看报—边吃早餐,边去上学带着早饭去上学
引入如何处理异步编程呢?应用程序准备数据数据就绪拷贝数据内核readread返回回调异步selectselect…readread返回应用程序查询数据状态阻塞准备数据数据就绪拷贝数据内核同步
目录01事件发布/订阅模式02Promise/Deferred模式
事件发布/订阅模式2.EventEmitter类Node.js有多个内置的事件,可以通过引入events模块,并通过实例化EventEmitter类来绑定和监听事件。首先,通过require加载events模块。然后,通过下列语句来实例化一个对象:vareventEmitter=newevents.EventEmitter();最后,调用对象的一系列方法来处理事件。1.事件驱动当We
您可能关注的文档
- 《装配式建筑质量与安全管理》课件——4.施工质量与安全管理.pptx
- 《装配式建筑质量与安全管理》课件——3.构件质量管理.pptx
- 《装配式建筑质量与安全管理》课件——2.地基质量管理.pptx
- 《装配式建筑质量与安全管理》课件——1.建筑工程质量与安全管理认知.pptx
- 《装配式建筑质量与安全管理》课件——6.安全生产及管理.pptx
- 《装配式建筑质量与安全管理》课件——5.预制构件质量控制.pptx
- 《Web应用开发实战》课件——单元2 模块化开发.pptx
- 《Web应用开发实战》课件——单元1 Node.js认知.pptx
- 《0-3岁婴幼儿心理发展》课件——婴幼儿社会性行为概述与发展.pptx
- 《0-3岁婴幼儿心理发展》课件——婴幼儿的自我意识.pptx
- 2025年春新北师大版八年级物理下册全册课件.pptx
- 2025年春新北师大版八年级物理下册全册教学课件.pptx
- 2025年秋季新北师大版八年级上册物理全册教学课件.pptx
- 2025年秋季新人教版九年级上册化学全册课件.pptx
- 2025年新人教版八年级上册物理全册课件.pptx
- 2025年秋季新人教版九年级上册化学全册教学课件(新版教材).pptx
- 新人教版七年级上册英语全册课件(2025年新版教材).pptx
- 锂离子电池前驱体磷酸铁合成方法研究现状及展望.docx
- 2024年东盟石油和天然气更新报告(英文版)-东盟.docx
- DB3209_T 1207.2-2022 建设工程档案管理 第二部分:房屋建筑工程文件归档和档案移交范围.docx
最近下载
- 麒麟操作系统应用与实践教学课件—第六章个性化麒麟操作系统.pptx VIP
- 工程量清单及工程量清单计价.pptx VIP
- PEP 五下英语教学计划.doc VIP
- 2024年四川宜宾中考物理试题及答案.doc VIP
- 2025年广州中考英语二轮复习语法专项复习课件:专项整合复习一+名词篇.pptx VIP
- 大中小学科学教育一体化建设的困境与路径研究.docx VIP
- 部编版八年级语文上册期末复习题专题1-语音、汉字.doc
- 计算材料学课件:第4章 分子动力学方法.ppt
- 2024-2025学年安徽省合肥市某中学九年级(上)期末数学模拟试卷(含答案).docx VIP
- 人教版6年级数学上册期末检测卷(十)(附答案).pdf
文档评论(0)