在我没get到promise之前实现异步:一层,一层,又一层的回调函数(传说中的十八层地狱回调!)
而现在我get到了Promise,实现异步的答案当然是:我只需要一个Promise(诺言)!
首先,我们得先明白Promise是干啥的。
Promise是一个执行异步操作的对象。
它有两个参数,三种状态
参数:resolve和reject。
状态:pending(进行中)、fulfilled(resolved,完成)、rejected(失败)。
关于参数:
1.resolve和reject是函数。
2.resolve和reject参数名字可以随意修改
好的,下面开始步入正题
//首先我先举个栗子:
let promise = new Promise((resolve, reject) => {
console.log('我要点赞、收藏,+关注!');
resolve();
})
promise.then(()=>{
console.log('你在想屁吃!')
})
//这样就把‘我要点赞、收藏,+关注!’这块代码内容 和 ‘你在想屁吃!’ 这块代码内容 实现了异步执行。
重点来喽~
生成promise对象后,promise的初始状态是pending
当我们调用resolve的时候,promise状态:pending -->fullfilled
当我们调用reject的时候,promise状态:pending -->rejected
当promise状态为fullfilled时,promise会调用then()
当promise状态为rejected时,promise会执行catch()
一个promise,只能有一个状态。
综上,整理下来就是: