angular中的$q服务
$q的一共有四个api:
1.$q.when(value, successFn, errorFn, progressFn),返回值为一个promise对象
--value可以是一个任意数据,也可以是一个promise对象:
如果是任意数据的情况,则直接调用successFn的函数,所以后两个参数没有写的意义。
var a=$q.when(“something”,function(data){
console.log(data) //something
return data;
})
a.then(function(data){console.log(data) //something这里的值取决于successFn的返回值,如果没有返回值,则这个值为undefined
})
1 如果是promise的情况 2 var a=$q.when("apple"); //a是一个promise对象 3 $q.when(a,function(data){ 4 console.log(data) //apple 这个值跟a这个promise对象的then方法中successFn,errorFn,processFn的入参一一对应 6 })
2,$q.reject(reason),返回值为一个promise对象
1 var a=$q.reject("no happy") //a为一个promise 对象 2 a.then(function(data){ 3 console.log(data) //根本无任何意义 4 },function(data){ 5 console.log(data) // no happy 6 }) 7 因为reject 只会触发errorFn这个函数,所以以上方法也可以这么写: 8 var a=$q.reject("no happy") //a为一个promise 对象 9 a.catch(function(data){ 10 console.log(data) //no happy 11 }) 12 备注:如果传入的不是"no happy",而是一个promise对象,那么 a.catch(function(data){ 13 console.log(data) //data为a 14 a.catch(function(data){ 15 console.log(data) // no happy 16 }) 17 })
备注:$q.reject跟$q.when对比,返回的promise对象的then方法中被触发函数的入参,前者取决于$q.reject(value)的value,后者取决于$q.when()的第二三四个参数(函数)的返回值。
3.$q.all([promise1, promise1])
接受一个包含若干个 promise 的数组,返回一个promise对象,返回的promise的progressFn并没有用;
等所有的promise resolve后,其本身resolve包含上述结果的数组[data1,data2]
var a=$q.when("hello"); var b=$q.when("world"); $q.all([a,b]).then(function(data){console.log(data) //["hello","world"] })
如果上述 promise 有一个 reject, 那么$q.all() 会把这个 rejected promise 作为其 rejected promise (只有一个哦)
var a=$q.when(“hello”); var b=$q.reject("world"); $q.all([a,b]).then(function(data){console.log(data) //没有任何意义 },function(data){console.log(data) //world })
4.$q.deffer() 返回一个deferred对象。
这个用的比较普遍,不多说了
转载于:https://www.cnblogs.com/fxqblog/p/7086128.html
angular中的$q服务相关推荐
- promise和Angular中的 $q, defer
在ES6语法中,新出了promise构造函数, 可用来生成promise实例. Promise对象: 代表了未来某个将要发生的事件(通常是一个异步操作).有了promise对象, 可以将异步操作以同步 ...
- angular中的$q使用详解
AngularJS 中的Promise --- $q服务详解 先说说什么是Promise,什么是$q吧.Promise是一种异步处理模式,有很多的实现方式,比如著名的Kris Kwal's Q还有JQ ...
- angular的$q服务和promise模式
此承诺/延迟(promise/deferred)实现的灵感来自于 Kris Kowal's Q CommonJS Promise建议文档 将承诺(promise) 作为和 异步执行操作(action) ...
- Angular中ngCookies模块介绍
1.Cookie介绍 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短 ...
- AngularJS 中的Promise --- $q服务详解
先说说什么是Promise,什么是$q吧.Promise是一种异步处理模式,有很多的实现方式,比如著名的Kris Kwal's Q还有JQuery的Deffered. 什么是Promise 以前了解过 ...
- Angular 中的依赖注入link
Angular 中的依赖注入link 依赖注入(DI)是一种重要的应用设计模式. Angular 有自己的 DI 框架,在设计应用时常会用到它,以提升它们的开发效率和模块化程度. 依赖,是当类需要执行 ...
- angular中的依赖注入
依赖项是指某个类执行其功能所需的服务或对象.依赖项注入(DI)是一种设计模式,在这种设计模式中,类会从外部源请求依赖项而不是创建它们. Angular 的 DI 框架会在实例化某个类时为其提供依赖.你 ...
- Angular中怎样通过localStorage实现数据持久化-实现存储搜索历史为例
场景 Angular介绍.安装Angular Cli.创建Angular项目入门教程: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...
- angular routerlink传递参数_[翻译]在 Angular 中使用 async-await 特性
在 Angular 中使用 async-await 特性 原文链接: https://medium.com/@balramchavan/using-async-await-feature-in-ang ...
- 简述angular中constant和$filter的用法
这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [简述angul ...
最新文章
- 关于RelativeLayout设置垂直居中对齐不起作用的问题
- c++ softmax sigmoid
- python编程软件在哪里下载-Thonny(Python编程工具)
- 从 wiscKey 看 LSMtree 的不足
- MaxCompute实战之数据存储
- sql中毫秒数与格式化时间的转换
- 10.27大视野月赛翻车实况
- VBA的表单控件初接触(2):ActiveX控件的基础功能和基础代码
- 【博弈论】耶鲁大学公开课--博弈论Problem Set 1--Solution
- Keil 5(C51, MDK) 官方下载方法
- 谷歌地图的标记样式_如何为Google地图设置样式
- 大数据查询与处理Pig培训:大数据查询处理技术解析
- 数字摄像头接口DCMI
- 开源主流分布式文件系统简单介绍
- 2018年的第一篇文章(福利篇)
- html报告致谢,论文致谢优秀范文(精选10篇)
- 裁员狂潮席卷硅谷:Meta史上最大规模裁员将至,英特尔被曝裁掉数千人
- 一行代码就能使用PYTHON开发的小游戏
- python效率计算-提高python中重心坐标计算的效率
- while 循环和 for 循环
热门文章
- must be str,not int
- python程序语言二级教程_计算机二级python学习教程(2) python语言基本语法元素...
- 机器学习概念篇:监督学习、过拟合,正则化,泛化能力等概念以及防止过拟合方法总结
- 解析几何 | 吕子根 设三平行平面 $\pi_i:\ Ax+By+Cz+D_i=0\,(i=1,2,3),L,M,N$ 依次是平面 $\pi_1,\pi_2,\pi_3$ 上的任意点,求 $\tria
- default在php定义什么,default(T)的含义
- Raki的读paper小记:Bipartite Flat-Graph Network for Nested Named Entity Recognition
- 炼丹中遇到的一些BUG
- 快速突破面试算法之数组与矩阵篇
- 24.两两交换链表中的节点(力扣leetcode) 博主可答疑该问题
- 5年级用计算机器探索规律,《小数除法》用计算器探索规律