promise对象调试

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            const p1 = new Promise(function (resolve, reject) {
              setTimeout(() => resolve("test"), 2000)
            })
            
            const p2 = new Promise(function (resolve, reject) {
                //经过调试发现,resolve的内容和状态能被传入的promise实例覆盖,如果是reject则不能被覆盖。
              setTimeout(() => reject(p1), 3000)
            })
            
            console.log(p1);
            console.log(p2);
            p2
              .then(function(result) {
                  console.log(result);
                  return "chenyujie";})
              .catch(function(error ) {
                  console.log("testsss");
                  console.log(error);
                  return p2;})
              .then(function(result) {
                  console.log(result);
                  console.log(this);}, 
                    function(error){
                      console.log("zhongguo");
                      console.log(error);
                    })
              // .catch(result => {
                 //  console.log(result);
              // })
        </script>
    </body>
</html>

then函数返回一个promise对象,promise对象有两个基本属性,状态和结果,其中then回调函数的返回值如果是字符串则直接为结果,状态为fulfilled,如果返回值为promise对象,则以对象状态和结果为准。(具体情况可以调试看,不一定准确,该对象有点麻烦)

promise对象调试

 

promise对象调试

上一篇:本地打包没事,自动化线上打包module找不到问题


下一篇:登录系统加载为TEMP用户的解决办法