Nodejs回调函数

简介: nodejs零碎知识记录

由于Javascript默认情况下是单线程的,这意味着代码不能创建新的线程来并行执行。而Nodejs和JavaScript相差也不大,并且它还引入了非阻塞的 I/O ,从而将异步的概念扩展到了文件访问、网络调用等。因此在Nodejs中使用异步编程就是通过回调函数来实现。把回调函数作为参数传递进方法里,方法内部执行完毕后再执行回调函数。在Nodejs中使用了大量的回调函数,Node 所有 API 都支持回调函数。

functionreadFile(filePath, callback) {
// I/O 读取文件底层逻辑// ...callback();
}


非阻塞写法

constfs=require("fs");
fs.readFile('file.txt', function (err, data) {
if (err) {
returnconsole.error(err);
    }
console.log(data.toString());
});
console.log("read file end.");

这种写法应当是先输出 read file end. 的内容,然后才输出文件里的内容。


阻塞写法

constfs=require("fs");
constdata=fs.readFileSync('file.txt');
console.log(data.toString());
console.log("read file end.");

而阻塞写法是先输出文件里的内容,然后才输出 read file end. 的内容。


回调地狱

JavaScript的语法中,回调的设计有效的解决了同步处理的问题,但是如果每一层函数都要依赖回调函数的返回值来进行下一步的操作的时候,就会嵌套出很多层代码,陷入这个回调地狱。这种代码非常难维护和阅读。

比如:

fs.readFile('file1.json', (err, data) => {
if (err!==null) {
fs.readFile('file2.json',(err,data) =>{
// ... callback    })
  }
})
目录
相关文章
|
5月前
|
JavaScript API
Node.js 回调函数
10月更文挑战第3天
35 0
|
9月前
|
JavaScript API
Node.js 回调函数
Node.js 回调函数
47 1
|
10月前
|
JavaScript 前端开发
Node.js 回调函数的原理、使用方法
Node.js 回调函数的原理、使用方法
118 1
|
JavaScript 前端开发 Java
Node.js自学笔记之回调函数
Node.js自学笔记之回调函数
56 0
node笔记记录7同步和异步3回调函数
node笔记记录7同步和异步3回调函数
65 0
node笔记记录7同步和异步3回调函数
|
设计模式 JavaScript API
Node.js 回调函数和事件循环
Node.js 回调函数和事件循环
|
JavaScript API
Node.js系列基础学习-----回调函数,异步
Node.js系列基础学习-----回调函数,异步
167 0
Node.js系列基础学习-----回调函数,异步
|
JavaScript 前端开发 Java
Node.js学习笔记(四、回调函数)
Node.js学习笔记(四、回调函数)
134 0
Node.js学习笔记(四、回调函数)
|
14天前
|
JavaScript 前端开发 数据可视化
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
28 2
【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
|
1月前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。

热门文章

最新文章