同步:如果每件事情是按照顺序依次进行的(自上而下一行一行的执行)
- 可能会因为代码执行慢导致阻塞出现
- Node.js中同步方法一般都带Sync字样
//同步
console.log('吃饭');
console.log('睡觉');
console.log('打豆豆');
function eat(){
console.log('开始吃饭');
console.log('吃饭');
}
eat();
console.log('上课');
异步:多件事情同步进行即异步
- Node.js通过异步/回调来解决阻塞问题
- 应用程序发起 I/O请求(出现阻塞) 后仍继续执行,当内核 I/O 操作完成后会通过回调函数处理后续工作
// 异步
console.log('吃饭');
console.log('睡觉');
console.log('打豆豆');
function eat(callback){
console.log('开始吃饭');
setTimeout(function(){
callback('吃饭结束')
},1000);
}
eat((msg)=>{
console.log(msg);
});
console.log('上课');