目录
promise介绍
它是一个ES6提出一个新语法,用来优化异步代码的写法。
- 在前端领域是我们必须要会的一个内容
promise:承诺
- 生活中.它是用来表述 对将来要发生的事情的肯定。 例如 : 高中生说,老师,我会考上一所好大学的;销售员说,老板,我一定会签下大单的;程序员说,老妈,我过年一定会带个女朋友回来的。
- 在ES6中,它是新增的构造器(Array, Object, Promise),用来优化实现异步操作。在没有它之前,javascript中的异步处理,大多是利用回调函数来实现的。典型的几种如下:(1)setTimeout (2)ajax 现在有了promise,就可以对这些异步操作进行改写了。
基本格式
<script>
let p1 = new Promise((resolve, reject) => {
// resolve和reject是Promise内提供的2个函数, 用于回调返回结果到外面
resolve(成功结果) // 触发.then()小括号里函数体执行
reject(失败结果) // 触发.catch()小括号里函数体执行
})
p1.then((成功结果变量名) => {
}).catch((失败结果变量名) => {
}).finally(()=>{
// 一定会执行的代码
})
</script>
- resolve函数的作用是,将Promise对象的状态从“未完成”变为“成功”,触发.then的执行
- reject函数的作用是,将Promise对象的状态从“未完成”变为“失败”,触发.catch的执行
实例代码
<script>
// 语法:
/*
let Promise对象变量名 = new Promise((resolve, reject) => {
// resolve和reject是Promise内提供的2个函数, 用于回调返回结果到外面
resolve(成功结果