2020-07-02
JavaScript
好程序员web前端培训JavaScript学习笔记Promise,promise 是一个 ES6 的语法
Promise表示承诺的意思,它在语法上解决了传统的多层回调嵌套问题
function a(cb) {
cb()}function b() {
console.log('我是函数 b')}a(b)
setTimeout(function(){
console.log("回调函数执行了")}, 2000)
ajax({
url: '我是diyi个请求',
success (res) {
// 现在发送第二个请求 ajax({
url: '我是第二个请求',
data: { a: res.a, b: res.b },
success (res2) {
// 进行第三个请求 ajax({
url: '我是第三个请求',
data: { a: res2.a, b: res2.b },
success (res3) {
console.log(res3)
}
})
}
})
}})
new Promise(function (resolve, reject) {
// resolve 表示成功的回调 // reject 表示失败的回调}).then(function (res) {
// 成功的函数}).catch(function (err) {
// 失败的函数})
new Promise(function (resolve, reject) {
ajax({
url: 'diyi个请求',
success (res) {
resolve(res)
}
})}).then(function (res) {
// 准备发送第二个请求 return new Promise(function (resolve, reject) {
ajax({
url: '第二个请求',
data: { a: res.a, b: res.b },
success (res) {
resolve(res)
}
})
})}).then(function (res) {
ajax({
url: '第三个请求',
data: { a: res.a, b: res.b },
success (res) {
console.log(res)
}
})})
async function fn() {
const res = await promise对象}
async function fn() {
const res = new Promise(function (resolve, reject) {
ajax({
url: 'diyi个地址',
success (res) {
resolve(res)
}
})
})
// res 就可以得到请求的结果 const res2 = new Promise(function (resolve, reject) {
ajax({
url: '第二个地址',
data: { a: res.a, b: res.b },
success (res) {
resolve(res)
}
})
})
const res3 = new Promise(function (resolve, reject) {
ajax({
url: '第三个地址',
data: { a: res2.a, b: res2.b },
success (res) {
resolve(res)
}
})
})
// res3 就是我们要的结果 console.log(res3)}
开班时间:2021-04-12(深圳)
开班盛况开班时间:2021-05-17(北京)
开班盛况开班时间:2021-03-22(杭州)
开班盛况开班时间:2021-04-26(北京)
开班盛况开班时间:2021-05-10(北京)
开班盛况开班时间:2021-02-22(北京)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2020-09-21(上海)
开班盛况开班时间:2021-07-12(北京)
预约报名开班时间:2019-07-22(北京)
开班盛况Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号