笔者以前面试的时候经常遇到写一堆setTimeout,setImmediate来问哪个先执行 。本文主要就是来讲这个问题的,但是不是简单的讲讲哪个先,哪个后 。笼统的知道setImmediate比setTimeout(fn, 0)先执行是不够的,因为有些情况下setTimeout(fn, 0)是会比setImmediate先执行的 。要彻底搞明白这个问题,我们需要系统的学习JS的异步机制和底层原理 。本文就会从异步基本概念出发,一直讲到Event Loop的底层原理,让你彻底搞懂setTimeout,setImmediate,Promise, process.nextTick谁先谁后这一类问题 。
同步和异步 同步异步简单理解就是,同步的代码都是按照书写顺序执行的,异步的代码可能跟书写顺序不一样,写在后面的可能先执行 。下面来看个例子:
co
推荐阅读
- 猹是什么动物 关于猹的习性介绍
- 朱顶红花开花后怎么养 如何养开完花的朱顶红
- 丁达尔现象 丁达尔效应的原理
- 六一儿童节送孩子什么礼物 六一儿童节送孩子的礼物有哪些
- 西柚混合果汁怎么做 混合清火西柚汁的做法
- 牡丹稼接方法 怎么嫁接牡丹
- 猫见黄瓜为什么会怕 猫怕黄瓜的原因
- 适合8月种的菜 8月能种植什么蔬菜
- 星际战甲龙王奥伯的属性及MOD搭配详解 龙王奥伯解析
- 海参鲜汤的做法 海参鲜汤的做法介绍