• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 趣味讲解Node.js中的回调函数(附示例)

趣味讲解Node.js中的回调函数(附示例)

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了Node.js示例,Node.js回调函数等相关知识,希望对您有所帮助

本篇文章给大家趣讲Node.js的回调函数,通过示例带大家简单了解一下回调函数,希望对大家有所帮助!


趣味讲解Node.js中的回调函数(附示例)


趣讲Node.js的回调函数

Node.js异步编程的直接体现就是回调函数,回调函数在完成任务后会被调用,而Node.js使用了大量的回调函数,我觉得是否适合用Node.js来讲回调函数。下面我就来尽力趣讲回调函数吧~


什么是回调函数

你到网上论坛找资源种子,但是你要找的资源找不到,于是你就在论坛发帖留下邮箱求资源,过几天,有网友找到资源了,于是给你发邮件,然后你就收到了资源种子然后去下载资源。在这里,你在论坛留下邮箱就是登记回调函数,你留下的邮箱就是回调函数,有人找到资源然后给你发邮件就是触发了回调函数的并且调用回调函数,你拿到种子然后下载就是响应回调事件。

示例:

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操作完毕再执行代码了。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 趣味讲解Node.js中的回调函数(附示例)

相关文章

  • 2022-04-29Illustrator设计个性时尚风格的名片教程
  • 2022-04-29总结分享一些基于jQuery的前端面试(含移动端常见问题)
  • 2022-04-29Photoshop设计时尚大气的3D螺旋球
  • 2022-04-29如何实现由抖音、快手、知乎、短信等外部APP或浏览器跳转到微信?
  • 2022-04-29百度编辑器无法插入视频、iframe怎么办
  • 2022-04-29基于开发中使用UEditor编辑器的注意事项详解
  • 2022-04-29vue中data改变后让视图同步更新的方法
  • 2022-04-29Illustrator创建渐变色效果的进度按钮
  • 2022-04-29dedecms页面获取会员状态的代码
  • 2022-04-29windows系统php环境安装swoole具体步骤

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 谈谈PHP运算符“::”、“->”和“=>”的区别
    • PHP高并发实例详解之解决商品库存超卖问题
    • Photoshop制作油漆溢出特效的艺术字教程
    • 推荐两款在laravel中用的markdown格式css样式
    • Thinkphp学习之路由定义 伪静态规则(总结分享)
    • Photoshop打造超现实燃烧效果
    • 利用yii 2框架发送电子邮件
    • 网站成立初期创造访问量的技巧
    • AI制作超强立体效果
    • 你知道Golang怎么封装PHP常用函数吗!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有