1. 程式人生 > >使用promise實現非同步

使用promise實現非同步

作為一個新的ES6非同步程式設計的解決方案,Promise想必大家都聽說過,包括async await 也是基於Promise的,今天我們通過一個小例子來全域性瞭解一下Promise

在此之前,需要明白的是,Promise實際上就是一個包含非同步操作的容器,有三種狀態。

pending  進行中
fulfilled   已成功
rejected  已失敗

let p=new Promise((resolve,reject)=>{
    let num = parseInt(Math.random()*2);
    console.log(num);
    setTimeout(()=>{
        if(num==0){
            resolve('成功了');
        }else{
            reject("失敗了");
        }
    },3000)
});
p.then((value)=>{
    console.log(value);
}).catch((value)=>{
    console.log(value);
});