本篇文章给大家趣讲Node.js的回调函数,通过示例带大家简单了解一下回调函数,希望对大家有所帮助!
Node.js异步编程的直接体现就是回调函数,回调函数在完成任务后会被调用,而Node.js使用了大量的回调函数,我觉得是否适合用Node.js来讲回调函数。下面我就来尽力趣讲回调函数吧~【推荐学习:《nodejs 教程》】
什么是回调函数
你到网上论坛找资源种子,但是你要找的资源找不到,于是你就在论坛发帖留下邮箱求资源,过几天,有网友找到资源了,于是给你发邮件,然后你就收到了资源种子然后去下载资源。在这里,你在论坛留下邮箱就是登记回调函数,你留下的邮箱就是回调函数,有人找到资源然后给你发邮件就是触发了回调函数的并且调用回调函数,你拿到种子然后下载就是响应回调事件。
示例:
function main(info,callback){ console.log("点赞、评论、转发了没?!") callback(info) } function say(msg){ console.log(msg) } main("给了,给了!",say)
这里callback就是回调函数,当然不一定要使用这个名称。在函数体中,先输出一条信息,然后再调用callback函数,(callback)回调函数使用msg作为自己的参数。
回调函数示例
使用Node.js程序读取文件有两种方式。一种是同步操作,只有读取操作结束后才能进行后面的命令,这种方式称为阻塞。另一种方式是异步方式,可以一边读取文件,一边执行其他命令,这种方式又被称为非阻塞。
而非阻塞方式基于回调函数,允许并行执行操作。操作结果会在事件发生时由回调函数处理,因此程序无须等待某个操作的结果就能执行下一步,这样就大大提高了Node.js的性能,使其可以处理大量的并发请求。
举例:
const fs = require("fs") fs.readFile('./foo.txt',function(err,data){ if(err) return console.error(err) console.log(data.toString()) }) console.log("Node.js 程序已经执行结束~")
运行结果:
Node.js 程序已经执行结束~ 小的们,快给我点赞~
可以发现,在读取文件时,无论文件有无读取完毕,都会执行下面的输出语句。因此会先显示程序已经结束的话语,然后才等待文件读取完毕然后显示文件内容。文件内容作为回调函数的参数data返回,这样就不必等待文件I/O操作完毕再执行代码了。
更多编程相关知识,请访问:编程视频!!
作者:青灯夜游
弹出框控件类似于提示框,它在鼠标点击到元素后显示,与提示框不同的是它可以显示更多的内容。如何创建弹出框(推荐学习:Bootst...
下面小编就为大家带来一篇深入剖析HTML5 内联框架iFrame。希望对大家有所帮助。一起跟随小编过来看看吧,祝大家游戏愉快哦由于现...
在javascript中,可以使用“JSON.parse()”方法来将json数据转为数组,该方法可以将一个JSON字符串转换为JavaScript值或对象,语...