js中Promise对象实例详解
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了js中Promise对象实例详解,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2111字,纯文字阅读大概需要4分钟。
内容图文
![js中Promise对象实例详解](/upload/InfoBanner/zyjiaocheng/295/ea2478d155f74fbfb18b1e4247cee2cf.jpg)
假设我现在有个实名验证页面,需要验证身份证号码和真实姓名,实名认证是到公安部系统验证(假设在前端验证),验证通过后我再将当前表单信息保存到提交到我自己后台保存;
方法一 不用promise
//外层ajax,校验实名信息$.ajax({ type: "POST", url: "公安部检验真实姓名和身份证接口", dataType:"json", data: {name:"王尼玛",idCardNo:"4405************6543"}, success: function(msg){ if(msg.status) { //真实姓名、身份证号码验证通过,提交表单数据到本系统后台 $.ajax({ type: "POST", url: "/my/info.php", //本系统后台地址 dataType:"json", data: {表单数据}, success: function(msg){ if(msg.success) { //保存成功 } else { //保存失败 } } }); } else { //真实姓名、身份证号码错误 } } });
我们很清楚的看到,以上例子需要嵌套ajax实现,实际需求中,凡是嵌套ajax的代码读起来都会很苦逼(多层更苦逼),当然,有的人会使用同步的ajax实现,但是同步ajax请求时会给用户页面死掉了的感觉【笑哭】;
方法二 使用promise
new Promise(function (resolve, reject) { $.ajax({ type: "POST", url: "公安部检验真实姓名和身份证接口", dataType: "json", data: { name: "王尼玛", idCardNo: "4405************6543" }, success: function (msg) { if (msg.status) { resolve(msg); //真实姓名、身份证号码通过验证,msg会传入then方法的第一个方法参数 } else { reject(msg); //真实姓名、身份证号码未通过验证,msg会传入then方法的第二个方法参数 } } }); }).then(function (resolveMsg) { $.ajax({ type: "POST", url: "/my/info.php", //本系统后台地址 dataType: "json", data: { "表单数据": "表单数据" }, success: function (msg) { if (msg.success) { //保存成功 } else { //保存失败 } } }); } , function (rejectMsg) { //真实姓名、身份证号码错误 });
总结
先说结论:Promise适用于多层嵌套的异步ajax回调;
很明显,区别于方法一的嵌套ajax,方法二的promise结构更清晰,特别是在多层嵌套后,方法二的优势更加明显,多层嵌套后方法一会变成一大坨,非常难看懂,方法二promise可以用:
new Promise().then() .then() .then() .catch();
格式,结构非常清晰的处理;
相关推荐:
Promise的基本使用方法教程
使用Promise简化回调
js中promise实例解析
以上就是js中Promise对象实例详解的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的js中Promise对象实例详解全部内容,希望文章能够帮你解决js中Promise对象实例详解所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。