NodeJs 做了什么 Fundamentals Internals

NodeJs 做了什么

code

node 代码实现

libuv 库代码实现

sync vs async

javascript 复制代码
// sync

console.log('🐰 win!');

console.log('🐢 win!');

 

// async

setTimeout(() => {

console.log('🐰 win!');

},1000)

console.log('🐢 win!');

non-blocking functions 非阻塞函数

async js ?

异步操作

线程 threads

两个线程在执行方面是互相独立的

node is single thread

nodejs 如何实现异步功能的?

event loop + libuv (deal file + network 调用操作系统功能)

Event Loop

顺便提一下 python 和 php 都可支持多线程

什么时候 使用 Node 最好

javascript 复制代码
// 1 base

// const EventEmitter = require('events')

// const celebrity = new EventEmitter()

 

// // 监听

// celebrity.on('race win', () => {

// console.log('you has win best!');

// })

 

// celebrity.on('race fail', () => {

// console.log('can do better!');

// })

 

// // 触发

// celebrity.emit('race win')

// celebrity.emit('race fail')

 

// 2 advantage 传递 参数

const EventEmitter = require('events')

const celebrity = new EventEmitter()

 

celebrity.on('race', (result) => {

if(result === 'win'){

console.log('win your best!');

}

})

 

celebrity.on('race', (result) => {

if(result === 'lost'){

console.log('can do better!');

}

})

 

celebrity.emit('race', 'win')

celebrity.emit('race', 'lost')
相关推荐
Jmyd01231 小时前
Web端3D营销展厅技术实现路径:从素材上云到线索回流的数据链路
前端·3d·性能优化·三维数字化
砚凝霜1 小时前
【软考信息安全】第二十二章 Web服务器安全分析与增强——Apache与IIS
服务器·前端·安全
LiuPig刘皮哥1 小时前
2026年开源3D陪玩对比:xiaoke.ai、AIRI、Open-LLM-VTuber、Amica 有什么、没有什么
人工智能·3d·开源
濮水大叔2 小时前
NestJS Dynamic Providers 与 Cabloy/Vona Provider Scene:同接口多实现的两种装配哲学
typescript·node.js·nestjs
wflynn2 小时前
GitHub 日榜趋势速报 | 2026-10-13
开源·github
u0111026753 小时前
JPG、PNG、WebP 怎么选?按透明度、体积和使用场景做判断
前端·javascript·vue.js·图像处理·ai作画
jerrywus4 小时前
让 AI 写完代码后交一份报告:我改造了 answer-me-with-html
前端·claude·cursor
冬奇Lab4 小时前
开源项目第236期:PentAGI — 全自主渗透测试多智能体系统,自带 20+ 专业工具箱
人工智能·开源·资讯
派小心.4 小时前
小程序分享链路中来源参数的传递校验
大数据·前端·数据库·人工智能·小程序·数据分析
hhb_6185 小时前
一键生成数据看板,ECharts实战演示
前端·javascript·echarts