说明
ES6 从入门到精通系列(全23讲)学习笔记。
Promise
Promise 相当于一个容器,保存着未来才会结束的事件(异步操作)的一个结果
- 对象的状态不受外界影响(Pending 进行中,Resolved 成功,Rejected 失败)
- 一旦状态改变,就不会再变,任何时候都可以得到这个结果
let pro = new Promise((resolved, rejected) => {
})
console.log(pro)
let pro = new Promise((resolved, rejected) => {
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, rejected) => {
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, rejected) => {
setTimeout(() => {
resolved("如果你追到我,我就让你嘿嘿嘿");
}, ms)
})
}
getData(1000).then(res => {
console.log(res)
})