js的settimeout方法 settimeout函数用法


笔者以前面试的时候经常遇到写一堆setTimeout,setImmediate来问哪个先执行 。本文主要就是来讲这个问题的,但是不是简单的讲讲哪个先,哪个后 。笼统的知道setImmediate比setTimeout(fn, 0)先执行是不够的,因为有些情况下setTimeout(fn, 0)是会比setImmediate先执行的 。要彻底搞明白这个问题,我们需要系统的学习JS的异步机制和底层原理 。本文就会从异步基本概念出发,一直讲到Event Loop的底层原理,让你彻底搞懂setTimeout,setImmediate,Promise, process.nextTick谁先谁后这一类问题 。
同步和异步 同步异步简单理解就是,同步的代码都是按照书写顺序执行的,异步的代码可能跟书写顺序不一样,写在后面的可能先执行 。下面来看个例子:
co

    推荐阅读