定义
承诺,在声明函数时承诺好,如果成功就执行resolve,如果失败就执行reject。定义resolve和reject函数的人,是使用这个Promise对象的人。
状态
Promise有三个状态,分别时等待中,成功,失败。
注意
注意!!!!三个状态只能成等待中变成成功,或者从等待中变成失败,如果已经成功成功或者失败,就不能再改变状态
function 异步函数 () {
return new Promise((resolve, reject) => {
setTimeout(() => {
// 模拟几率
if (Math.random() > 0.5) {
// 来了
resolve()
} else {
reject()
}
}, 3000)
})
}
异步函数().then(() => {
// resolve函数
console.log("一起走")
}).catch(() => {
console.log('自己走')
})
为什么有些函数调用之后,可以调用.then方法
axios.get().then(res => {}).catch(() => {})
因为这些函数在封装时,上来返回了一个new Proimise
。promise对象中有三个方法。
- then(() => {}) 异步操作成功时执行的函数
- catch(() => {}) 异步操作失败时执行的函数
- finally(() => {}) 不管成功还是失败都会执行的函数。
Promise中所有的方法.then.catch.finally调用之后,都会返回这个promise对象。并且会按链式的顺序执行对应的then中的方法
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行