$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)相关推荐

  1. AngularJS 的 $q 和 Promise

    了解Promise 在谈论Promise之前我们要了解一下一些额外的知识:我们知道JavaScript语言的执行环境是"单线程",所谓单线程,就是一次只能够执行一个任务,如果有多个 ...

  2. JS中使用FormData上传文件、图片的方法

    参考博客:http://www.cnblogs.com/xiaohuochai/p/6543019.html http://www.cnblogs.com/qcloud1001/p/6839541.h ...

  3. AngularJs 抓狂之: $q promise 自动unwarp功能被禁用了

    昨天刚知道,原来把一个Promise绑定到Scope,View会自动显示该Promise的值(auto-unwarp),但是晚上回家试的时候发现,无论如何都不行.又浪费了两个多小时找原因,最后才发现, ...

  4. admin select 2 异步_解决Angularjs异步操作后台请求用$q.all排列先后顺序问题

    最近我在做angularjs程序时遇到了一个问题 1.页面有很多选择框,一个选择框里面有众多的选择项,和一个默认选定的项,像下面这样(很多选择框,不只一个): 2.众多的选项要从后台接口得到,默认项从 ...

  5. angularjs 同步請求_angularjs $q、$http 处理多个异步请求

    在实际业务中经常需要等待几个请求完成后再进行下一步操作.但angularjs中$http不支持同步的请求. 解决方法一: $http.get('url1').success(function (d1) ...

  6. AngularJs中promise 和 $q 的一点解释

    以前只知道简单的ajax请求,也就是请求回调的模式,看了angularJs中大规模的promise, 尤其是$q 和defer , promise 以及怎么resolve,reject非常疑惑,在搜集 ...

  7. AngularJS学习之$q和promise介绍

    引用: ​下面我们通过讲解$q的API让你更多的了解promise异步编程模式.$q是做为angularjs的一个服务而存在的,只是对promise异步编程模式的一个简化实现版,源码中剔除注释实现代码 ...

  8. AngularJS 中的Promise --- $q服务详解

    先说说什么是Promise,什么是$q吧.Promise是一种异步处理模式,有很多的实现方式,比如著名的Kris Kwal's Q还有JQuery的Deffered. 什么是Promise 以前了解过 ...

  9. AngularJS $q 和 $q.all 单个数据源和多个数据源合并(promise的说明)

    这篇文章讲的不错, angular $q  和 promise!! -------------------------------------------------------------- 通过调 ...

  10. angularjs 1.x $q模块使用

    什么是$q $q是angularjs1.x中内置服务,在需要使用时可以注入它. angular.module('app').controller('myController', function my ...

最新文章

  1. TCP和UDP应用场景
  2. stm32 外部中断学习
  3. Struts2【一】 配置介绍
  4. 备战数学建模国赛,快速搞定算法模型!
  5. map insert异常失败_处理dubbo反序列化失败的坑
  6. 直播预告丨 Oracle 12C~19C统计信息的最佳实践
  7. access 如何使用dolby_用Access开发《生产管理系统》
  8. Halcon——点胶机胶水路径应用(2)
  9. jvm诊断之学习jcmd入门
  10. QTableView修改数据后弹出是否保存的提示框。
  11. 【信号与系统|吴大正】4:信号分解、傅里叶变换与信号谱(下)
  12. Easy DVD Creator v2.5.7 WinALL Incl Keygen-BLiZZARD
  13. html用css美化表格
  14. 计算机二级第二课堂学记录表,高职学院关于第二课堂学分实施的通知(2020版)...
  15. 修真院_JAVA_TASK_1
  16. 超文本标签语言html的主要特点,福建教师招考整理:超文本标记语言(HTML)
  17. 软件工程 | 第六章 系统集成与测试
  18. 女生双修计算机科学与技术,浙江大学计算机科学与技术学院数字媒体技术专业毕业作品展...
  19. 10招教你练就“最强大脑“”
  20. 【06】Spring源码-分析篇-ApplicationContext

热门文章

  1. linux下安装apache与php;Apache+PHP+MySQL配置攻略
  2. Oracle视图分类及各种操作讲解(超级好文)
  3. 后台传值给前台p标签
  4. windows中使用Git工具连接GitHub(配置篇)
  5. Linux---主机字节序与网络字节序
  6. 图解HTTP笔记(一)
  7. 买基金你们都亏了多少钱?
  8. 如何选择华为MATE 30 PRO 5G和P40 PRO?
  9. 刷短视频真的是太浪费时间了
  10. 我很喜欢写作。但总难以坚持!