說明
ES6 從入門到精通系列(全23講)學習筆記。
Promise
Promise 相當于一個容器,儲存着未來才會結束的事件(異步操作)的一個結果
- 對象的狀态不受外界影響(Pending 進行中,Resolved 成功,Rejected 失敗)
- 一旦狀态改變,就不會再變,任何時候都可以得到這個結果
let pro = new Promise((resolved,) => {
})
console.log(pro)
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)
})
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)
})
function getData(ms) {
return new Promise((resolved,) => {
setTimeout(() => {
resolved("如果你追到我,我就讓你嘿嘿嘿");
}, ms)
})
}
getData(1000).then(res => {
console.log(res)
})