4-Promis中then方法的返回结果由什么决定

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      let p = new Promise((resolve, reject) => {
        resolve("Ok");
      });

      // 执行then方法
      let result = p.then(
        (value) => {
          console.log(value);
          // 1.抛出错误---then方法返回的结果就是失败,值为抛出的错误
          // throw "出了问题!";
          // 2.返回结果是一个非Promise类型的对象---then方法返回的结果就是成功,值为返回的结果
          // return 123;
          // 3.返回结果是一个Promise对象---then方法返回的结果由返回状态当中Promise对象的状态来决定,值为返回结果当中Promise的成功/失败的值
          // return new Promise((resolve, reject) => {
          //   resolve("Success");
          //   reject("Error")
          // });
        },
        (reason) => {
          console.warn(reason);
        }
      );

      console.log(result, "000000"); //返回的状态确定了,但是没有返回结果,所以返回的结果是undefined
    </script>
  </body>
</html>
posted @ 2022-01-02 16:36  问某完红  阅读(50)  评论(0编辑  收藏  举报