JavaScript运行时,除了一个正在运行的主线程,引擎还提供一个人任务队列
里面是各种需要当前程序处理的异步任务。
实际上,根据异步任务的类型,存在多个任务队列
首先,主线程会执行所有的同步任务。等到同步任务全部执行完,
就会去看任务队列里面的异步任务。如果满足条件,那么异步任务就
重新进去主线程开始执行,这时她就变成同步任务了。等到执行完,
下一个异步任务再进入主线程开始执行。一旦任务队列清空,程序就结束执行。
异步任务的写法通常是回调函数。一旦异步任务重新进入主线程,,就会执行对应的回调函数。
如果一个异步任务没有回调函数,就不会进入任务队列,也就是说,不会重新进入主线程,因为没有用回调函数指定下一步的操作。