Promise中的方法调用

99 阅读1分钟

来源MDN Promise的方法调用

<script type="text/javascript">
        let p1 = new Promise((resolve, reject)=>{ reject("调用失败")})
        let p2 = new Promise((resolve, reject)=>{ resolve("调用成功")})
        let p3 = new Promise((resolve, reject)=>{ setTimeout(resolve,500,"p3调用成功")})
        let p4 = new Promise((resolve, reject)=>{ setTimeout(resolve,100,"p4调用成功")})
        // Promise.any 只要有一个成功,就返回成功回调的值
        Promise.any([p1,p2,p3]).then(res =>{
            console.log("Promise.any",res);
        })
        // Promise.all 只有当所有的Promise返回的时候才会成功
        Promise.all([p1,p2,p3]).then(res =>{
            console.log("Promise.all",res);
        }).catch(err =>{
            console.log(err);
        })
        // Promise.race 如果有多个Promise实例,最先完成的Promise会优先被兑现
        Promise.race([p3,p4]).then(res =>{
            console.log(res);
        })
         // Promise.resolve 是Promise成功的回调
        Promise.resolve("fulfilled").then(res =>{
            console.log("resolve",res);
        })
        Promise.resolve([1,2,3]).then(res =>{
            console.log("resolve",res);
        })
        
        // Promise.rejected 是Promise实例拒绝的回调
        Promise.reject("rejected").then(res =>{
            console.log("rejected",res);
        }).catch(res =>{
            console.log("rejected",res);
        })
</script>