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

Nodejs回调函数

1、参考:Node.js 回调函数 | 菜鸟教程

2、实践截图:

2.1、阻塞代码实例

var fs = require("fs");var data = fs.readFileSync('input.txt');console.log(data.toString());
console.log("程序执行结束!");

2.2、非阻塞代码实例

var fs = require("fs");fs.readFile('input.txt', function (err, data) {if (err) return console.error(err);console.log(data.toString());
});console.log("程序执行结束!");

2.3、回调地狱(Callback Hell)

var fs = require("fs");fs.readFile('file1.txt', 'utf8', (err, data1) => {if (err) {console.error('Error reading file1:', err);return;}fs.readFile('file2.txt', 'utf8', (err, data2) => {if (err) {console.error('Error reading file2:', err);return;}fs.readFile('file3.txt', 'utf8', (err, data3) => {if (err) {console.error('Error reading file3:', err);return;}console.log('Data from all files:', data1, data2, data3);});});
});console.log("程序执行结束!");

2.4、使用 async/await

const fs = require('fs').promises;async function readFiles() {try {const data1 = await fs.readFile('file1.txt', 'utf8');const data2 = await fs.readFile('file2.txt', 'utf8');const data3 = await fs.readFile('file3.txt', 'utf8');console.log('Data from all files:', data1, data2, data3);} catch (err) {console.error('Error reading files:', err);}
}readFiles();console.log("程序执行结束!");

2.5、使用 promises

const fs = require('fs').promises;fs.readFile('file1.txt', 'utf8').then(data1 => {console.log('Data from file1:', data1);return fs.readFile('file2.txt', 'utf8');}).then(data2 => {console.log('Data from file2:', data2);return fs.readFile('file3.txt', 'utf8');}).then(data3 => {console.log('Data from file3:', data3);}).catch(err => {console.error('Error reading files:', err);});console.log("程序执行结束!");


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

相关文章:

  • python应用之使用pdfplumber 解析pdf文件内容
  • 使用stm32cubeide stm32f407 lan8720a freertos lwip 实现udp client网络数据转串口数据过程详解
  • JavaScript基础--22-call、apply 和 bind
  • #MongoDB 快速上手
  • springcloud进阶
  • Python星球日记 - 第10天:模块与包
  • php调用大模型应用接口实现流式输出以及数据过滤
  • 原子操作(cpp atomic)
  • UE4初学笔记
  • Vue3+Vite+TypeScript+Element Plus开发-06.Header响应式菜单缩展
  • 2025 数字中国创新大赛数字安全赛道数据安全产业积分争夺赛初赛-东部赛区WriteUp
  • C++第14届蓝桥杯b组学习笔记
  • xv6-labs-2024 lab2
  • 深入解析嵌入式Linux系统架构:从Bootloader到用户空间 - 结合B站视频教学
  • 【Android Audio】Parameter Framework - pfw
  • LeetCode 解题思路 33(Hot 100)
  • JavaScript基础--20-JavaScript 预编译机制深度解析
  • 【CPP】内存泄漏详解
  • Ollama
  • spring boot + Prometheus + Grafana 实现项目监控