nodejs异步编程基础之回调函数用法分析

本文实例讲述了nodejs异步编程基础之回调函数用法。分享给大家供大家参考,具体如下:

Node.js 异步编程的直接体现就是回调。

异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。

回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。

例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。

阻塞代码实例

1、创建一个文件 input.txt ,内容如下:

i have a dream

2、创建 main.js 文件, 代码如下:

var fs = require("fs");

var data = fs.readFileSync('input.txt'); //注:同步版的 fs.readFile()

console.log(data.toString());

console.log("程序执行结束!");

以上代码执行结果如下:

非阻塞代码实例

1、创建一个文件 input.txt ,内容如下:

i have a dream

2、创建 main.js 文件, 代码如下:

var fs = require("fs");

fs.readFile('input.txt', function (err, data) { //注:异步版的 fs.readFile()

if (err) return console.error(err);

console.log(data.toString());

});

console.log("程序执行结束!");

以上代码执行结果如下:

总结:

以上两个实例我们了解了阻塞与非阻塞调用的不同。

第一个实例在文件读取完后才执行完程序。

第二个实例我们呢不需要等待文件读取完,这样就可以在读取文件时同时执行接下来的代码,大大提高了程序的性能。

因此,阻塞按是按顺序执行的,而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内。

希望本文所述对大家nodejs程序设计有所帮助。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

java socket 异步回调函数,分享nodejs异步编程基础之回调函数用法相关推荐

  1. python中求差的函数_Python编程基础11:函数和模块

    一.函数和模块概述 (一)函数概述 函数可以看成是语句的集合,通过函数调用来执行其包含的语句.函数可以返回一个计算结果,根据每次函数调用的参数,可以返回不同的计算结果.Python利用函数提高代码的重 ...

  2. python函数名的语法_Python 基础语法六 ——函数

    一个程序可以按不同的功能实现拆分成不同的模块,而函数就是能实现某一部分功能的代码块. 1.函数的概述 定义:在Python中,定义个函数要使用 def 语句,一次写出函数名.括号.括号中的参数和冒号( ...

  3. java主类与源代码名称_Java高级编程基础:类文件结构解析,看穿Class代码背后的秘密...

    类文件结构 在说完了JVM内部结构后,接下来我们需要说一下另外一个非常重要的基础概念Class类结构. 我们既然知道了开发的Java源代码会首先被编译成字节码文件保存,JVM的类加载器会读取这些文件内 ...

  4. 返回值类型与函数类型不匹配_golang基础语法,定义函数类型 为已存在的数据类型起别名...

    简介 在 GO 语言中还有另外一种定义使用函数的方式,就是函数类型,所谓的函数类型就是将函数作为一种类型可以用来定义变量,这种用法类似于前面我们讲过的 int ,float64,string 等类型, ...

  5. c 语言绘图函数,c语言图形编程(三、绘图函数-)(C language graphics programming (three, drawing function -)).doc...

    c语言图形编程(三.绘图函数-)(C language graphics programming (three, drawing function -)).doc c语言图形编程(三.绘图函数-01) ...

  6. Win32窗口编程基础知识——主函数

    2019独角兽企业重金招聘Python工程师标准>>> 虽然说编程重要的是思想,用什么语言实现都是鸡肋,但是并不是说你对一个语言一点也不会看一遍就可以精通,我的经历就是以前只注意C/ ...

  7. python函数作用域与闭包_python基础-08-内置函数、作用域、闭包、递归

    python基础-内置函数.作用域.闭包.递归 1.常见的内置函数 常见的内置函数: 查看内置函数: print(dir(__builtins__)) 常见函数 type() 数据类型 print() ...

  8. python map函数的作用_python语言基础之map函数,urlib.request,多线程

    1.map函数 map 是 Python 自带的内置函数,它的作用是把一个函数应用在一个(或多个)序列上,把列表中的每一项作为函数输入进行计算,再把计算的结果以列表的形式返回. map 的第一个参数是 ...

  9. c语言 编程 函数声明,C语言编程开发中的函数声明与定义

    函数功能的使用在许多编程开发语言中都是有不同的使用方法的,而今天我们就一起来了解一下,在C语言编程开发中的函数功能使用与定义. 对函数的"定义"和"声明"不是一 ...

最新文章

  1. codeforces 650D. Zip-line 线段树
  2. LeetCode——分治
  3. 拼图登陆拼图二维码验证_另一个拼图观点
  4. es中的xpack插件下载_ppt中插入flash动画工具-PowerPoint中插入Flash插件下载电脑版...
  5. (二十二)用RANSAC算法来求线性回归模型的参数
  6. eclipse显示包名的方式
  7. 算法设计与分析期末复习题
  8. iOS 实时录音和播放
  9. 关于switch软破“由于发生错误,软件已关闭”无法升级主机系统等问题
  10. AccessPort 0d 0a乱码
  11. 大数据Spark面试题
  12. 图片的格式怎么改?教你快速转格式的方法?
  13. ipa逆向分析class-dump的安装和使用
  14. python爬虫登录正方教务管理系统获取成绩数据_「武汉理工大学教务处管理系统」Python爬虫初学(4)登陆武汉理工大学教务处并转到成绩管理 - seo实验室...
  15. 阿里云一键部署 Hadoop 分布式集群
  16. 解决VS2022打开VS2015项目出现报错(warning : 无法找到 Visual Studio 2015 - Windows XP (v140_xp) 的生成工具……)
  17. 英语发音规则---s发/s/的读音规则
  18. Canvas学习笔记及像素操作——实现马赛克
  19. 互联网红利之道-流量变现
  20. 将BMP 格式图片转换为 JPEG 格式【c语言】

热门文章

  1. java如何批量导入题目_MyBatis 如何批量插入?
  2. Java字符串的重要性_java中的字符串相关知识整理
  3. 网易云信-新增自定义消息(iOS版)
  4. 织梦DeDeCMS友情链接文字显示不全
  5. [gdb][python][libpython] 使用gdb调试python脚本
  6. JavaScript高级程序设计--01
  7. javascript 中的 call
  8. iOS开发笔记--Layer 图层圆角、边框 、底纹其他常用操作
  9. 效果好,速度快!大连海事大学提出基于增强多任务学习的单图像去雨算法MENET...
  10. matlab 等势面立体图,求助大牛MATLAB画三维等势面