nodejs异步编程

什么是异步编程

故名思意,不是同步即为异步,那么什么是异步编程呢?
请大家先看以下代码

console.log('start');
setTimeout(()=>{
	console.log('这里的代码2秒后执行...');
},2000);
console.log('end');

执行结果想必大家都能猜得出来,程序执行完毕后:
start
end
这里的代码2秒后执行…

那么大家再来看下面代码

for(let i=0;i<10000;i++){
	console.log(i);
}
console.log('end');

上面代码中,会执行10000次循环,循环结束后,才会执行下面代码;
这个代码就是同步代码,for循环无论执行多久,下面代码都要等待它执行完毕后才会执行。

而最上面的代码却不是这样,那么这是什么原因呢?
原因其实很简单,不仅是nodejs中,还是我们Javascript中都会产生这种现象,要想明白这个原因首先大家
要先搞懂,js代码的执行原理。
在js中,代码会在执行栈中依次执行,如果执行到回调函数,则会把回调函数放入任务队列,等待执行,如果执行栈中的代码执行完毕后,再去依次执行任务队列中的代码。
nodejs也是同样原理。

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 黑客帝国 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值