概念
-
promise
是异步编程的一种解决方案,它是一个对象,它可以获取异步操作的信息。 - 有三种状态:
pending
等待、fulfiled
成功、rejected
失败 - 状态一旦改变,就不会再次改变
- 创建
promise
实例后立即执行,then
catch
为微任务
解决的问题
- 代码嵌套,回调,难以维护等问题
- 支持多个并发请求
- 可以解决异步的问题
用法
const p = new Promise((resolve, reject) => {
setTime(() => {
const number = Math.ceil(Math.random() * 10) // 生成1-10的随机数
if (number < 6) {
resolve('成功')
} else {
reject('失败')
}
}, 2000)
})
链式操作用法
p.then(data => {
console.log(data)
})
p.catch(data => {
console.log(data)
})
参数
-
resolve
异步操作执行成功后的回调函数 -
reject
异步操作执行失败后的回调函数 -
.then()
接收两个参数:resolve
回调、reject
回调 -
.catch()
接收一个参数:reject
回调