node app里面除了你自己以外的所有代码都是并行执行的,举个例子,你的代码(回调函数)是国王,node的代码是士兵(例如createServer
readFile
writeFile
...),国王向士兵发完tasks之后就可以回去睡个懒觉,士兵在外面执行tasks,等士兵们完成自己手中tasks时,便等候在国王的任务队列中等待报告,以便国王队任务完成报告做进一步指示(callback)
用代码来演示
let fs = require('fs')
fs.readFile('file1.txt',function(report){
console.log("Solder 1's report")
})
fs.writeFile('file2.txt','this is file2',function(){
console.log('Solder 2\'s report')
})
这里node自身的fs.readFile
和fs.writeFile
是同时执行的,而各自的回调函数执行顺序则根据fs.readFile
和fs.writeFile
的完成时间而定
这就是高并发/单进程/事件循环的精髓了
优势
- 低相应时间/高并发 这都是node擅长的