不积跬步,无以至千里。

我的学习笔记

首页

原生js

基础语法

内容更新于: 2022-10-11 03:17:14

promise

前言:记录关于promise的一切哦。

从一道题目开始


  Promise.resolve()
  .then(() => {
     console.log(0);
     return Promise.resolve(4);
  }).then((res) => {
     console.log(res)
  });
    
  Promise.resolve()
  .then(() => {
    console.log(1);
  })
  .then(() => {
    console.log(2);
  })
  .then(() => {
    console.log(3);
  })
  .then(() => {
    console.log(5);
  })
  .then(() => {
    console.log(6);
  });


结果: 0 1 2 3 4 5 6
1.首先将 p.then(fn) 中的fn放入微任务队列。即:pros0 pros1 2.pros0 的状态由 返回的 prosr4 决定。所以微任务队列 pros0 pros1 prosr4.then(cb); cb:完成p0 3.执行微任务队列之后 结果:0 1 ,其中执行p1之后将p2 推入队列 4.执行prosr4.then(cb)之后将 cb 推入队列,即:p2 cb 5.执行微任务队列: 2 ; 队列变成 p3 p4 6.所以结果是 0 1 2 3 4 5 6
// todo

本文结束