使用ES6的Promise 解决回调函数。
2024-09-25 20:48:32
//创建一个Promise实例,获取数据。并把数据传递给处理函数resolve和reject。需要注意的是Promise在声明的时候就执行了。
var getUserInfo=new Promise(function(resolve,reject){
$.ajax({
type:"get",
url:"index.aspx",
success:function(data){
if(data.Status=="1"){
resolve(data.ResultJson)//在异步操作成功时调用
}else{
reject(data.ErrMsg);//在异步操作失败时调用
}
}
});
})
//另一个ajax Promise对象,
var getDataList=new Promise(function(resolve,reject){
$.ajax({
type:"get",
url:"index.aspx",
success:function(data){
if(data.Status=="1"){
resolve(data.ResultJson)//在异步操作成功时调用
}else{
reject(data.ErrMsg);//在异步操作失败时调用
}
}
});
})
//Promise的方法then,catch方法
getUserInfo.then(function(ResultJson){
//通过拿到的数据渲染页面
}).catch(function(ErrMsg){
//获取数据失败时的处理逻辑
})
//Promise的all方法,等数组中的所有promise对象都完成执行
Promise.all([getUserInfo,getDataList]).then(function([ResultJson1,ResultJson2]){
//这里写等这两个ajax都成功返回数据才执行的业务逻辑
})
复制代码
最新文章
- ui-router带参数的ui-sref配置
- ios工程中加入.c/.cpp文件
- nodejs 框架安装生成app
- 基于元数据的ETL系统
- effective c++:dynamic_cast,避免返回handles指向对象内部
- [问题] PHP接收Request payload传递过来的参数
- AngularJS开发下一代Web应用笔记(一)
- 删除sd卡的文件
- QT的的字体使用(全局自带字体特别好用)
- break的使用例一
- Winfrom 文本框回车进入下一个个单元格(TextBox)
- 利用OpenSSL创建证书链并应用于IIS7
- iOS 应用中加载文档pdf/word/txt
- ASP.NET 访问项目网站以外的目录文件
- [LeetCode] Optimal Division 最优分隔
- 给现有的word和pdf加水印
- ASP.NET Core开发者成长路线图
- 微信小程序(二)登录授权实现
- Android Material Design控件使用(二)——FloatButton TextInputEditText TextInputLayout 按钮和输入框
- Shell命令解析