说明
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) })