/*
* Promise
* 为啥要用 promise: 回调地狱
* 三种状态: 进行中 已成功(resolve) 已失败(reject)
* new Promise((resolve, reject) => { }) 返回一个 promise
(Promise 的状态一旦改变了 就永远不会再变了)
resolve(参数): 把 promise 的状态 由进行中 -> 已成功
reject(参数): 把 promise 的状态 由进行中 -> 已失败
* 监听
then(res => { res })
catch(error => { error })
p1.then() 返回一个新的 promise
p1.catch() 返回一个新的 promise
* Promise.all([p1, p2, ...p3]) 返回一个 promise
必须都成功触发 then
有一个失败 就触发 catch
/*
* Promise
* 为啥要用 promise: 回调地狱
* 三种状态: 进行中 已成功(resolve) 已失败(reject)
* new Promise((resolve, reject) => { }) 返回一个 promise
(Promise 的状态一旦改变了 就永远不会再变了)
resolve(参数): 把 promise 的状态 由进行中 -> 已成功
reject(参数): 把 promise 的状态 由进行中 -> 已失败
* 监听
then(res => { res })
catch(error => { error })
p1.then() 返回一个新的 promise
p1.catch() 返回一个新的 promise
* Promise.all([p1, p2, ...p3]) 返回一个 promise
必须都成功触发 then
有一个失败 就触发 catch
* Promise.race([p1, p2, ...p3])
只要有一个 状态改变了 不管成功还是失败 都会触发监听
* Promise.resolve(参数) 立刻返回一个状态是成功的 promise
* Promise.reject(参数) 立刻返回一个状态是失败的 promise
*/