天天看點

ES6 從入門到精通 # 17:Promise 的基本使用

說明

ES6 從入門到精通系列(全23講)學習筆記。

Promise

Promise 相當于一個容器,儲存着未來才會結束的事件(異步操作)的一個結果

  1. 對象的狀态不受外界影響(Pending 進行中,Resolved 成功,Rejected 失敗)
  2. 一旦狀态改變,就不會再變,任何時候都可以得到這個結果
let pro = new Promise((resolved,) => {

 })

 console.log(pro)      
ES6 從入門到精通 # 17:Promise 的基本使用
let pro = new Promise((resolved,) => {
    let res = {
        code: 200,
        desc: "處理成功",
        data: {
            name: "kaimo"
        }
    }
    setTimeout(() => {
        if(res.code === 200) {
            resolved(res.data);
        } else {
            rejected(res.desc);
        }
    }, 1000)
})

pro.then(val => {
    console.log(val)
}, err => {
    console.log(err)
})      
ES6 從入門到精通 # 17:Promise 的基本使用
let pro = new Promise((resolved,) => {
    let res = {
        code: 500,
        desc: "伺服器内部異常",
    }
    setTimeout(() => {
        if(res.code === 200) {
            resolved(res.data);
        } else {
            rejected(res.desc);
        }
    }, 1000)
})

pro.then(val => {
    console.log(val)
}, err => {
    console.log(err)
})      
ES6 從入門到精通 # 17:Promise 的基本使用
function getData(ms) {
    return new Promise((resolved,) => {
        setTimeout(() => {
            resolved("如果你追到我,我就讓你嘿嘿嘿");
        }, ms)
    })
}
getData(1000).then(res => {
    console.log(res)
})      

繼續閱讀