本篇文章给大家趣讲Node.js的回调函数,通过示例带大家简单了解一下回调函数,希望对大家有所帮助!
趣讲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操作完毕再执行代码了。
更多编程相关知识,请访问:编程视频!!
以上是趣味讲解Node.js中的回调函数(附示例)的详细内容。更多信息请关注PHP中文网其他相关文章!

Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!

gm是基于node.js的图片处理插件,它封装了图片处理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式调用。gm插件不是node默认安装的,需执行“npm install gm -S”进行安装才可使用。

如何用pkg打包nodejs可执行文件?下面本篇文章给大家介绍一下使用pkg将Node.js项目打包为可执行文件的方法,希望对大家有所帮助!

本篇文章带大家详解package.json和package-lock.json文件,希望对大家有所帮助!

本篇文章给大家分享一个Nodejs web框架:Fastify,简单介绍一下Fastify支持的特性、Fastify支持的插件以及Fastify的使用方法,希望对大家有所帮助!

node怎么爬取数据?下面本篇文章给大家分享一个node爬虫实例,聊聊利用node抓取小说章节的方法,希望对大家有所帮助!

本篇文章给大家分享一个Node实战,介绍一下使用Node.js和adb怎么开发一个手机备份小工具,希望对大家有所帮助!

先介绍node.js的安装,再介绍使用node.js构建一个简单的web服务器,最后通过一个简单的示例,演示网页与服务器之间的数据交互的实现。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境