AngularJS-webapp($q)
$q延迟加载:
当一个数据需要请求多次,后面一个数据需要前面请求的数据时,我们就可以通过延迟加载进行数据传递
如下代码:
首先:我们需要得到职位信息:
{"id": "p3","imageUrl": "/image/company-3.png","name": "销售","companyId": "c3","companyName": "千度","cityId": "c1","cityName": "上海","scaleId": "s3","scaleName": "500人以上","industryId": "i1","industryName": "互联网","salaryId": "s2","salaryName": "3k-5k","experience": "1-3年","education": "专科","benefit": "成长空间大","description": "岗位职责:\n1.销售产品;..." }
其次通过职位信息里面的companyId获得company信息:
{"id": "c1","imageUrl": "/image/company-1.png","name": "慕课网","industry": "移动互联网","state": "A轮","people": "50-150人","positionClass": [{"id": "jishu","name": "技术","positionList": [{"id": "p1","name": "IOS前端工程师","createdDate": "2016-04-16 23:30","salary": "15k-25k"}]}, {"id": "yunying","name": "运营","positionList": [{"id": "y1","name": "运营总监","createdDate": "2016-04-10 13:30","salary": "25k以上"}]}] }
function getPosition() {var def = $q.defer();$http.get('data/position.json?id=' + $state.params.id).then(function (response) {$scope.position = response.data;def.resolve(response.data);}).catch(function (err) {def.reject(err);});return def.promise;}function getCompany(id) {$http.get('data/company.json?id=' + id).then(function (response) {$scope.company = response.data;});}getPosition().then(function (response) {getCompany(response.companyId)});
转载于:https://www.cnblogs.com/Nyan-Workflow-FC/p/6978413.html
AngularJS-webapp($q)相关推荐
- AngularJS 的 $q 和 Promise
了解Promise 在谈论Promise之前我们要了解一下一些额外的知识:我们知道JavaScript语言的执行环境是"单线程",所谓单线程,就是一次只能够执行一个任务,如果有多个 ...
- JS中使用FormData上传文件、图片的方法
参考博客:http://www.cnblogs.com/xiaohuochai/p/6543019.html http://www.cnblogs.com/qcloud1001/p/6839541.h ...
- AngularJs 抓狂之: $q promise 自动unwarp功能被禁用了
昨天刚知道,原来把一个Promise绑定到Scope,View会自动显示该Promise的值(auto-unwarp),但是晚上回家试的时候发现,无论如何都不行.又浪费了两个多小时找原因,最后才发现, ...
- admin select 2 异步_解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
最近我在做angularjs程序时遇到了一个问题 1.页面有很多选择框,一个选择框里面有众多的选择项,和一个默认选定的项,像下面这样(很多选择框,不只一个): 2.众多的选项要从后台接口得到,默认项从 ...
- angularjs 同步請求_angularjs $q、$http 处理多个异步请求
在实际业务中经常需要等待几个请求完成后再进行下一步操作.但angularjs中$http不支持同步的请求. 解决方法一: $http.get('url1').success(function (d1) ...
- AngularJs中promise 和 $q 的一点解释
以前只知道简单的ajax请求,也就是请求回调的模式,看了angularJs中大规模的promise, 尤其是$q 和defer , promise 以及怎么resolve,reject非常疑惑,在搜集 ...
- AngularJS学习之$q和promise介绍
引用: 下面我们通过讲解$q的API让你更多的了解promise异步编程模式.$q是做为angularjs的一个服务而存在的,只是对promise异步编程模式的一个简化实现版,源码中剔除注释实现代码 ...
- AngularJS 中的Promise --- $q服务详解
先说说什么是Promise,什么是$q吧.Promise是一种异步处理模式,有很多的实现方式,比如著名的Kris Kwal's Q还有JQuery的Deffered. 什么是Promise 以前了解过 ...
- AngularJS $q 和 $q.all 单个数据源和多个数据源合并(promise的说明)
这篇文章讲的不错, angular $q 和 promise!! -------------------------------------------------------------- 通过调 ...
- angularjs 1.x $q模块使用
什么是$q $q是angularjs1.x中内置服务,在需要使用时可以注入它. angular.module('app').controller('myController', function my ...
最新文章
- TCP和UDP应用场景
- stm32 外部中断学习
- Struts2【一】 配置介绍
- 备战数学建模国赛,快速搞定算法模型!
- map insert异常失败_处理dubbo反序列化失败的坑
- 直播预告丨 Oracle 12C~19C统计信息的最佳实践
- access 如何使用dolby_用Access开发《生产管理系统》
- Halcon——点胶机胶水路径应用(2)
- jvm诊断之学习jcmd入门
- QTableView修改数据后弹出是否保存的提示框。
- 【信号与系统|吴大正】4:信号分解、傅里叶变换与信号谱(下)
- Easy DVD Creator v2.5.7 WinALL Incl Keygen-BLiZZARD
- html用css美化表格
- 计算机二级第二课堂学记录表,高职学院关于第二课堂学分实施的通知(2020版)...
- 修真院_JAVA_TASK_1
- 超文本标签语言html的主要特点,福建教师招考整理:超文本标记语言(HTML)
- 软件工程 | 第六章 系统集成与测试
- 女生双修计算机科学与技术,浙江大学计算机科学与技术学院数字媒体技术专业毕业作品展...
- 10招教你练就“最强大脑“”
- 【06】Spring源码-分析篇-ApplicationContext