化妆品网站建设的策划,南京网站建设培训,网络公司免费做网站,wordpress中文开发文档1. Promise
1.1 对象和状态
是什么#xff1f;是前端开发时js中的一个对象#xff08;包裹#xff09;。【对象】【异步请求】# 对象中有一个状态的值#xff0c;status
# 创建对象#xff0c;不赋值#xff0c;statuspendding
let v1 new Promise(function(resolve, …1. Promise
1.1 对象和状态
是什么是前端开发时js中的一个对象包裹。【对象】【异步请求】# 对象中有一个状态的值status
# 创建对象不赋值statuspendding
let v1 new Promise(function(resolve, reject){})# 创建对象为resolve赋值statusfufilled
let v2 new Promise(function(resolve, reject){resolve(okk)
})
可以简写为 let v2 Promise.resolve(okk)# 创建对象为reject赋值statusrejected
let v3 new Promise(function(resolve, reject){reject(okk)
})
可以简写为 let v3 Promise.reject(haha)1.2 回调函数
对象 Promise ...
对象.then(函数1, 函数2)
对象.then(函数3, 函数4)
对象.catch(函数5)关于回调函数的执行- 状态pendding回调函数都不会被执行- 状态fufilled基于then添加进去的第一个回调函数就会被触发执行。即函数1和函数3- 状态rejected基于then添加进去的第二个回调函数就会被触发执行且基于catch添加的函数也会被执行。即函数2和函数4和函数5示例
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
script typetext/javascriptlet v1 new Promise(function (resolve, reject) {// 状态为pendding// resolve(OK) // 状态为fufilled 值为OKreject(INFO) // 状态为rejected 值为INFO})v1.then(function (res) {console.log(res)},function (reason) {console.log(reason)})
/script
/body
/html1.3 then的返回值
对象Promise ...
返回值 对象.then(函数1, 函数2)
返回值.then(函数3,函数4)
如果在函数1中返回一个新的Promise对象接下来执行函数3或函数4取决于函数1返回的那个Promise对象的状态。示例
!DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
body
script typetext/javascriptlet v1 new Promise(function (resolve, reject) {// resolve(INFO) // 状态为rejected 值为INFOreject(INFO)})let v2 v1.then(function (res) {console.log(111: , res)console.log(v1: fufilled)return new Promise(function (resolve, reject) {resolve(hhh) // 状态为fufilled 值为INFO})},function (reason) {console.log(222: , reason)console.log(v1: rejected)return new Promise(function (resolve, reject) {reject(aaa) // 状态为rejected 值为INFO})})v2.then(function (res) {console.log(333: , res)},function (reason) {console.log(444: , reason)})
/script/body
/html