当前位置: 首页 > news >正文

【Node】【3】回调函数

nodejs 是一个基于事件驱动非阻塞异步的JavaScript运行时环境。

Node.js 采用单线程模型, 单线程意味着 Node.js 在任何给定时刻只能执行一段代码,但通过异步执行回调函数,可以在等待 I/O 操作完成的同时继续执行其他代码,从而提高了并发处理能力和性能。

非阻塞异步:在nodejs中执行的动作不会阻塞后续代码的执行。要实现这样的能力主要依靠3种方法:

  • 使用异步 I/O 操作来处理文件读写、网络请求:在等待 I/O 操作完成的同时执行其他任务。如文件读取等。
  • 使用回调函数或者 Promise 对象,在异步操作完成后执行特定的回调函数。

回调函数:在 Node.js 中,几乎所有的 API 都是支持回调函数的。一般作为函数的最后一个参数出现。操作完成时调用该回调函数来处理结果。

function foo1(name, age, callback) { }
function foo2(value, callback1, callback2) { }

// input.txt 文件
在这里插入图片描述

//main.js

var fs = require("fs");// 读取文件结束后回调函数打印文件里的内容。
fs.readFile('input.txt', function (err, data) {if (err) return console.error(err);console.log(data.toString());
});console.log("程序执行结束!");

执行

在这里插入图片描述

在这个示例中,fs.readFile 函数用于异步地读取名为 input.txt 的文件。在回调函数中处理文件读取完成后的数据。在调用 fs.readFile 的同时,后续的 console.log 语句会立即执行,而不需要等待文件读取操作完成。

这种异步模式允许 Node.js 在执行 I/O 操作时继续处理其他任务,而不会被阻塞,从而提高了应用程序的性能和响应速度。

使用fs.readFile时,你需要提供文件的路径作为第一个参数。这个路径可以是相对路径(相对于当前工作目录)或绝对路径(完整路径)。

举个例子

'input1.txt' 是相对于当前工作目录的文件路径,但是在main.js 所在的目录中并没有input1.txt 文件,因此会报错:找不到文件。

在这里插入图片描述

如果要读取其他目录中的文件,可以提供相对路径或绝对路径:
在这里插入图片描述


http://www.mrgr.cn/news/10274.html

相关文章:

  • 如何本地搭建 Whisper 语音识别模型?一文解决
  • 【Python】机器学习中的 K-均值聚类算法及其优缺点
  • c++栈和队列(stack和queue)
  • 【图文并茂】ant design pro 如何对接登录接口
  • Python 和 PyCharm 安装(傻瓜式)
  • C++基础语法:异常处理(二)
  • TS学习笔记
  • Cocos Creator2D游戏开发(15)---预制体和按钮的绑定以及冷却效果的实现
  • Docker数据卷使用手册
  • 【Excel】Excel小技巧(实时更新中)- 0.0.1
  • Linux文件编程(系统API调用)
  • 幅频特性曲线分析及使用WPF绘制
  • 2024手把收教你下载FL Studio 24.1.1.4239中文版破解版图文激活教程
  • Tcp VS Udp文件传输协议分析与比较
  • 深度学习----------------------残差网络ResNet
  • Unity-可分组折叠的Editor
  • wxpython Scintilla styledtextctrl滚动条拖到头文本内容还有很多的问题
  • 1058 选择题——PAT乙级
  • 前端学习Day35
  • 网络安全售前入门02——产品了解