<!DOCTYPE html>
<html ng-app="app">
<head lang="en">
<meta charset="UTF-8">
<title>new $q constructor </title>
<script src="bower_components/angular/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl as vm">
<button ng-click="vm.fire(true)">Reject it</button>
<button ng-click="vm.fire(false)">Resolve it</button>
<h3>Last Resolved Value</h3>
<pre>{{vm.resolveData | json}}</pre> <h3>Last Rejected Value</h3>
<pre>{{vm.rejectData | json}}</pre>
</body>
</html>
/**
* Created by Answer1215 on 11/13/2014.
*/
function MainCtrl($q){
'use strict';
var vm = this;
vm.fire = fire;
vm.resolveData = null;
vm.rejectData = null; function fire(rejectIt){
console.log('fire');
doAsync(rejectIt).then(function(data){
vm.resolveData = data;
}, function(error){
vm.rejectData = error;
});
} //$q usually sepreate from the logic
function doAsync(rejectIt){
return $q(function(resolve, reject){
setTimeout(function(){
var doneTime = +new Date();
console.log(doneTime);
if(!rejectIt){
resolve({
resolveData: 'resolve it at '+doneTime
});
}else{
reject({
rejectData: 'reject it at '+doneTime
});
}
}, 500);
});
}
} angular.module('app',[])
.controller('MainCtrl', MainCtrl);

Read More: http://jsbin.com/jetoyo/4/edit?html,js,output

最新文章

  1. 看 nova-scheduler 如何选择计算节点 - 每天5分钟玩转 OpenStack(27)
  2. AMD加载器实现笔记(五)
  3. IDEA 中 显示 *.properties 为中文
  4. Zero Requiem
  5. DataGridView中添加CheckBox列用于选择行
  6. Linux 下,mysql数据库报无法登陆错误:ERROR 1045 (28000): Access denied for use
  7. IIS7 配置URL_REWRITE
  8. phpstorm安装,破解及使用
  9. 【转】oracle中触发器中:new和:old 的使用方法
  10. 通过javascript实现页面的横竖屏固定
  11. solr与tomcat整合
  12. 201521123019 《Java程序设计》第5周学习总结
  13. SSH框架之-hibernate 三种状态的转换
  14. android开发之this.finish()的使用
  15. 【开源项目】电视盒子好用又强大的APP: TVRemoteIME
  16. Java利用原始HttpURLConnection发送http请求数据小结
  17. biaffineparser
  18. 2019CVTE技术支持软件编程2
  19. Java内存空间的分配及回收
  20. nexus-3.2.0-01.zip安装以及如何启动服务

热门文章

  1. 使用抽象bean
  2. Code forces363D Renting Bikes
  3. [BZOJ3583]杰杰的女性朋友(矩阵快速幂)
  4. Neo4j之Cypher学习总结
  5. django深入-ORM操作
  6. Java并发(二):Java内存模型
  7. 24.最优布线问题(kruskal算法)
  8. kali 执行apt-get upgrade后,终端无法打开的解决办法
  9. Xcode常用插件推荐
  10. linux基础命令学习(四)用户与群组