什么是代码阻塞

什么是代码阻塞?

代码阻塞与不阻塞各有各的优缺点,没有好与坏,具体情况由需求来定

是否阻塞与是否同步是两个不同维度的概念,有时间再深究

  • 阻塞代码
const fs = require('fs')
let data = fs.readFileSync('../劝学.txt')
console.log(data.toString());  //先输出
console.log('程序执行完毕');  //后输出
//这个就是正常的执行顺序
  • 非阻塞代码
const fs = require('fs')
fs.readFile('../劝学.txt',(err, data) => {
    console.log(data.toString());  //后输出
})
console.log('程序执行完毕');  //先输出
//就是说 没有堵住,就跟回调函数一样的,会放进任务队列
  • 还有一个非阻塞代码
axios.get('xxx').then(res=>{
    cls('xxx')
})
cls('1111')  //先输出
//现在知道Promise为什么解决了回调地狱了吧,Promise没出来之前,就只能用回调函数达到这种需求。
posted @ 2022-06-13 17:36  朱在春  阅读(121)  评论(0编辑  收藏  举报