Jquery的promise对象
2024-08-25 20:11:15
一直用jquery,ajax一直是这么写:
$.ajax({
url: 'abc.com/index',
type: 'post',
data: { abc:1 },
success: function (data) {
if (!data.success) {
alert(data.message);
} else { }
}
});
前一段时间 看见别人这么写觉得很不错:
$.ajax({
url: 'abc.com/index',
type: 'post',
data: { abc:1 },
}).done(function(data) {
if (!data.success) {
alert(data.message);
} else {
}
}).fail(function() {
alert('请稍后重试');
});
突然感觉 done fail 这种写法不错....今天在写js的时候想 自定义的方法怎么实现 这种 ?
然后搜索下发现jquery封装了promise对象 只需要这么用:
function test(txt) {
var dtd = $.Deferred();
if (!txt.trim()) {
dtd.reject({ msg: '不能为空' });
} else if (!reg.test(txt)) {
dtd.reject({ msg: '含有非法字符' });
} else if (this.tags.indexOf(txt)>=0) {
dtd.reject({ msg: '已重复' });
}
dtd.resolve();
return dtd.promise();
} 调用:
test('xxx')
.done(function(data){
//xxxxxx
})
.fail(function(data){
//xxxx
})
说明 test 方法返回 的是一个promise对象
dtd.reject 会回调所有的 fail 方法
dtd.resolve 会回调 所有的 done方法
最新文章
- Asp.net WebApi 项目示例(增删改查)
- python 进程间共享数据 (一)
- MVC过滤器之 OnActionExcuted
- C# 字符串string类型转换成DateTime类型 或者 string转换成DateTime?(字符串转换成可空日期类型)
- 关于如何写UI及屏幕适配的一些技巧
- 使用stdarg.h实现可变长度参数
- JBOSS的安全配置 .
- java下载网络图片
- nno_setup制作升级包必须面临的几个问题 2
- C# 操作IE浏览器
- 编写爬虫程序的神器 - Groovy + Jsoup + Sublime(转)
- POJ1734/Floyd求最小环
- acm课程练习2--1003
- opencv批处理提取图像的特征
- 科普 TLS 1.3—新特性与开启方式
- Dynamics Customer Engagement V9版本配置面向Internet的部署时候下一步按钮不可点击的解决办法
- 14.并发与异步 - 2.任务Task -《果壳中的c#》
- 通过Solrj实现对索引库中数据的局部更新操作
- [au3]批量输入号码程序
- localStorage单页面及不同页面监听变动
热门文章
- 静态页面表单中js验证
- 并查集【p2700】逐个击破
- jboss启动时java VM参数设置
- 【kruscal】【最小生成树】poj3522 Slim Span
- 【bzoj1296】【[SCOI2009]粉刷匠】多次背包dp及小小的优化
- 杂谈PID控制算法——第二篇:调·三个量
- Centos 6.5 优化 一些基础优化和安全设置
- 如何提高码农产量,基于ASP.NET MVC的敏捷开发框架之工作流开发随笔三
- JavaScript 的闭包用于什么场景
- 【开源类库学习】MBProgressHUD(提示框)