您好,欢迎访问一九零五行业门户网

Angularjs的promise对象详解

这次给大家带来angularjs的promise对象详解,使用angularjs的promise对象时注意事项有哪些,下面就是实战案例,一起来看一下。
promise是什么?要了解它,需要先从我们面临的问题开始讲起。在操作ajax异步请求时候,必须添加一个callback函数,用于处理请求成功后的逻辑,但是这种方式是以牺牲控制流,异常处理为代价的,并且还有可能陷入callback函数嵌套中,流程复杂,代码臃肿。在angularjs里面,处理异步,我们可能首先会想到用$watch监听器来实现,但是过多的监听器,会影响性能,代码结构上也会比较乱。
为了解决这种情况,在angularjs里面引入了promise对象的概念,确切的说,它是一种优雅的处理异步编程的模式,可以有效地解决回调函数的繁琐,并以一种同步的方式去处理业务流程。同时允许在回调中采用链式写法,接下来我们详细的说明promise对象的使用方法:
promise的基本概念和使用方法
1、为了更加形象的说明promise的概念,进一步了解她的属性和方法,在这里我们通过一个例子来比拟描述。
例如:一个名为a的客户,向一家名为b的公司要求开发一个web页面,b公司答应三天可以做完,这成活就是一个promise对象,它本质上是a客户发起来的延期业务,在angular里面我们可以理解为通过$q对象调用defer方法创建了一个延期对象的过程。
2、接下来在这三天当中,客户可能会与公司进行开发进度交流,这可以理解为调用延期对象的8e99a69fbe029cd4e2b854e244eab143notify128dba7a3a77be0113eb0bea6ea0a5d0方法发送消息的过程,表明这个延期业务的状态是未完成或者进行中;如果在三天以后,b公司将a客户要求开发的页面正常交付,则可以理解为调用眼器对象中的8e99a69fbe029cd4e2b854e244eab143resolve128dba7a3a77be0113eb0bea6ea0a5d0方法过程,表明这个延期业务的状态是已完成;而如果b公司在制作过程中,发现无法实现,则同坐a客户不能交付,这可以理解为调用延期对象中的8e99a69fbe029cd4e2b854e244eab143reject128dba7a3a77be0113eb0bea6ea0a5d0方法的过程,表明这个延期业务的状态是无法完成。
3、如果b公司在接到a客户需求的时候,发现之前做过一个项目与现在需求完全一致,决定将原来做好的项目直接给b公司,客户也很满意。这种情况没有产生延期业务,则可以理解为通过$q对象调用when方法的过程。
4、通过这个例子,我们可以群体给出的看出,a客户和b公司彼此都没有小号太多的时间,过程也非常通常,这正是promise对象的重要特征。此外,从例子中我们形象的知道了promise对象的创建过程。以及defer()、notify()、reject()、when()方法表示的功能。
下面,我们正是来介绍promise对象的创建过程。想要在angular中创建一个promise对象,必须在模板中先注入$q服务,并先调用defer方法创建一个延期对象,代码如下:
angular.module("a",[]) .controller("c",["$scope","$q",function($scope,$q){ var defer=$q.defer(); }])
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
相关阅读:
web的接口管理工具
ionic应用里文字不能长按复制、粘贴怎么办
以上就是angularjs的promise对象详解的详细内容。
其它类似信息

推荐信息