主题
Node.js
Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时。
异步编程
Callback
javascript
const fs = require('fs')
fs.readFile('file.txt', 'utf8', (err, data) => {
if (err) {
console.error(err)
return
}
console.log(data)
})Promise
javascript
const fs = require('fs').promises
fs.readFile('file.txt', 'utf8')
.then(data => console.log(data))
.catch(err => console.error(err))async/await
javascript
async function readFile() {
try {
const data = await fs.readFile('file.txt', 'utf8')
console.log(data)
} catch (err) {
console.error(err)
}
}模块系统
CommonJS
javascript
// module.js
module.exports = {
add: (a, b) => a + b
}
// index.js
const { add } = require('./module')ES Modules
javascript
// module.js
export function add(a, b) {
return a + b
}
// index.js
import { add } from './module.js'事件循环
Node.js 使用事件循环处理异步操作:
javascript
console.log('1')
setTimeout(() => console.log('2'), 0)
Promise.resolve().then(() => console.log('3'))
console.log('4')
// 输出: 1, 4, 3, 2