Promise 学习1

前言

本文已代码解读的方式来学习整个过程。这里提供了五段代码,如果你都能理解清楚,完全正确的说出 output 过程,那么厉害大牛如你,我在这里给你竖个大拇指,祝贺你对 Promise 的执行过程已经了如指掌。

当然可能你也未必真正了解核心,能正确的理解和解释这个过程,不妨看看题目的解释。
当然如果是和我一样的菜鸟,那么我们就一起来看看吧~

看答案前,先自己默默算下输出结果吧。

第一段代码

new Promise((resolve, reject) => {
  console.log("外部promise");
  resolve();
})
  .then(() => {
    console.log("外部第一个then");
    return new Promise((resolve, reject) => {
      console.log("内部promise");
      resolve();
    })
    .then(() => {
    console.log("内部第一个then");
    })
    .then(() => {
    console.log("内部第二个then");
    });
  })
  .then(() => {
    console.log("外部第二个then");
  });

这个输出还是比较简单的,外部第一个 new Promise 执行,执行完 resolve ,然后执行外部第一个 then 。外部第一个 then 方法里面 return 一个 Promise,这个 return ,代表 外部的第二个 then 的执行需要等待 return 之后的结果。当然会先执行完内部两个 then 之后,再执行 外部的第二个 then ,机智如你,完全正确。

output:

外部promise  
外部第一个then  
内部promise  
内部第一个then  
内部第二个then  
外部第二个then

你可能感兴趣的:(Promise 学习1)