javascript - 关于Promise的pending状态

查看:388
本文介绍了javascript - 关于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函数还是会执行?

解决方案

因为console.log(p,p1,p2,p3);这句代码运行早了,还没改变状态

你把下面代码加上试试

setTimeout(() => {
    console.log(p,p1,p2,p3);
},1000)

这篇关于javascript - 关于Promise的pending状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆