Loading

JS中的异步任务有哪些

异步任务指的是,不进入主线程、而进入"任务队列"(task queue)的任务,只有等主线程任务执行完毕,"任务队列"开始通知主线程,请求执行任务,该任务才会进入主线程执行。

分为了以下两种

宏任务

  • 宏任务就是将当前任务放在下一个任务列最顶部

微任务

  • 微任务会将当前任务放入下一个任务列的底部

主要的异步任务有

  • Events:javascript各种事件的执行都是异步任务
  • setTimeout、setInterval 定时器 特别的如果将setTimeout()的第二个参数设为0,就表示当前代码执行完(执行栈清空)以后,立即执行(0毫秒间隔)指定的回调函
  • queueMicrotask 执行微任务
  • XMLHttpRequest(也就是 Ajax)
  • requestAnimationFrame 类似于定时器,但是是以每一帧为单位
  • fetch Fetch API 提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的一些具体部分
  • MutationObserver 创建并返回一个新的 MutationObserver 它会在指定的DOM发生变化时被调用。
  • Promise
  • async function
posted @ 2021-01-17 17:56  不吃苦瓜^  阅读(2640)  评论(0编辑  收藏  举报