博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Deferred 异步模型
阅读量:5796 次
发布时间:2019-06-18

本文共 767 字,大约阅读时间需要 2 分钟。

hot3.png

Deferred 在 jQuery 和 Twisted 框架中都有出现,其思想都是相似的,以下以 Jquery 来写。

传统的 Ajax 调用

$.ajax() 在默认的情况下是以非阻塞的方式调用的,即 async = true,这里所说的异步,既是在业务层面的异步,也就是页面同步加载完框架后再加载数据的这种模式,又是在代码层面的异步,ajax 函数立即会返回,然后执行下一条语句。

在传统的 Ajax 调用时,我们可以将请求写在一个 settings 里面,然后直接传递给 ajax(),这个 settings 包含了请求的 url 地址和当返回数据后执行的回调函数。在下面的代码中,当 test.html 返回正常时,就会弹出框提示成功调用。

// 来自参考文档$.ajax({    url: "test.html",    success: function(){      alert("成功调用");    },    error:function(){      alert("调用出错");    }  });

如果需求想要在页面返回的时候做更多的事情,那么我们需要在 success 里面添加函数,可能再会嵌套一层代码,可能让代码变得混乱。

全新的链式写法

$.ajax("test.html")  .done(function(){ alert("成功调用"); })  .fail(function(){ alert("调用出错"); })   .done(function(){ alert("第二个回调函数!");} );

那么采用全新的链式写法以后,减少了回调的嵌套,代码可读性变得更高了。

参考文档

- -

转载于:https://my.oschina.net/shinedev/blog/521150

你可能感兴趣的文章
android ios主流浏览器User-Agent
查看>>
Oracle-09:聚合函数
查看>>
一分钟快速入门openstack
查看>>
一个好的管理者:场上暴君,场下朋友;工作魔鬼,生活好人
查看>>
蓝图(Blueprint)详解
查看>>
Spark之SQL解析(源码阅读十)
查看>>
Android图片添加水印图片并把图片保存到文件存储
查看>>
C#字符串的不变性
查看>>
前端路由简介以及vue-router实现原理
查看>>
当TC遇到AI
查看>>
kafka-0.10.0官网翻译(一)入门指南
查看>>
【南京Meetup】不断迭代,严苛细节,最终性能如何满足? 基于ELK的大数据平台实践分享...
查看>>
(转)机器学习:偏差处理(2)
查看>>
比特币系统采用的公钥密码学方案和ECDSA签名算法介绍——第二部分:代码实现(C语言)...
查看>>
分享15款很实用的 Sass 和 Compass 工具
查看>>
AMD优势: 与众不同 选择丰富
查看>>
玩转高性能超猛防火墙nf-HiPAC
查看>>
简单按日期查询mysql某张表中的记录数
查看>>
Sql Server 2008 R2 备份与还原
查看>>
自动化部署之jenkins发布PHP项目
查看>>