ES6 promise对象的简单用法

本文介绍如何使用Promise对象简化ES5中的异步编程,通过示例展示Promise如何处理依赖于前一个请求结果的ajax请求,避免回调地狱,使代码更清晰、简洁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

promise 对象解决es5中的异步执行操作

在es5中,常常有一个ajax 请求资源时,需要上一个ajax请求返回的参数,这时,写js的时候,会出现ajax嵌套的写法,这样代码看起来嵌套层次多,且给人感觉不是很好

例:
var p = new Promise(resolve,reject){
$.ajax({
type:‘post’,
url:‘login’,
data:{},
dataType:‘json’,
success:function(data){
resolve(data) // 请求成功时调用resolve函数方法
},
error:function(error){
reject(error) // 请求失败时调用reject函数方法
}
})

}.then(function(data){
console.log(data) // then方法是 函数执行成功时调用
$.ajax({
type:‘post’,
url:’’,
data:{name:data.name,age:data.age}, // 使用第一个请求返回的数据作为参数
dataType:‘json’,
success:function(data){
resolve(data) // 请求成功时调用resolve函数方法
},
error:function(error){
reject(error) // 请求失败时调用reject函数方法
}
})

}).catch(function(error){
console.log(error) // catch 方法是函数执行失败时调用
})

// 以上是promise 的简单用法,当然你也可以将请求ajax 封装,直接在promise对象中调用,这样看上去更加简洁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值