猿问

关于Promise的pending状态

       var p = Promise.resolve(123);

       var p1 = p.then(function(value){

               console.log("p1")

       });

       var p2 = p1.then(function(value){

               console.log("p2");

       });

       var p3 = p2.then(function(value){

               console.log("p3");

       });

       console.log(p,p1,p2,p3);

打印出来p1,p2,p3都是pending状态,那为什么这些then函数还是会执行?

慕森卡
浏览 2759回答 1
1回答

慕田峪4524236

因为console.log(p,p1,p2,p3);这句代码运行早了,还没改变状态你把下面代码加上试试setTimeout(() => {    console.log(p,p1,p2,p3);},1000)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答