一题 Promise 链式调用顺序

  1. new Promise((resolve, reject) => {
  2. console.log("log: 外部promise");
  3. resolve();
  4. })
  5. .then(() => {
  6. console.log("log: 外部第一个then");
  7. new Promise((resolve, reject) => {
  8. console.log("log: 内部promise");
  9. resolve();
  10. })
  11. .then(() => {
  12. console.log("log: 内部第一个then");
  13. })
  14. .then(() => {
  15. console.log("log: 内部第二个then");
  16. });
  17. })
  18. .then(() => {
  19. console.log("log: 外部第二个then");
  20. });
  21. // log: 外部promise
  22. // log: 外部第一个then
  23. // log: 内部promise
  24. // log: 内部第一个then
  25. // log: 外部第二个then
  26. // log: 内部第二个then

promise 的 then/catch 方法执行后会也返回一个 promise