AngularJS promise()
实例说明一
<!DOCTYPE html>
<html ng-app="my-app">
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.0-beta.4/angular.min.js"></script>
</head>
<body>
<div ng-controller="myctrl"></div> <script>
angular.module("my-app",[]).controller("myctrl",['$q','$log',function($q,$log){ var deferred = $q.defer();
deferred.resolve(1);
var promiseA = deferred.promise;
promiseA
.then(function(val){$log.info(val);return $q.reject(15);})
.then(function(val){$log.info(val);return ++val;})
.then(function(val){$log.info(val);return ++val;})
.then(function(val){$log.info(val);return ++val;})
.then(
function(val){$log.info(val);return ++val;},
function(val){$log.info(val)}
);
//------
$q.when('I Love you!')
.then(function(value){$log.info(value)});
//------
$q.when($q.reject('I Hate you!'))
.then(null,function(value){$log.info(value)});
//------
var promiseAA = $q.when('I Love you!');
var promiseB = $q.when('Love story!');
var promiseC = $q.when("Let't get wet!");
/*****/
$q.all([promiseAA,promiseB,promiseC]).
then(function(value){
$log.info(value);})
.then(function(value){$log.info(value);})
.then(function(value){$log.info(value);})
/******/ }])
</script>
</body>
</html>
http://segmentfault.com/a/1190000000402555
http://www.thinksaas.cn/group/topic/264600/
HTML;
<!doctype html>
<html ng-app="myApp">
<head>
<link rel="stylesheet" href="http://cdn.jsdelivr.net/foundation/4.3.2/css/foundation.min.css">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.0-beta.4/angular.min.js"></script>
</head>
<body> <h1>Open Pull Requests for Angular JS</h1> <ul ng-controller="DashboardController">
<li ng-repeat="pr in pullRequests">
{{ pr.title }}
</li>
</ul> </body>
</html>
angular.module('myApp', [])
.controller('DashboardController', [
'$scope', 'GithubService',
function($scope, GithubService) {
GithubService.getPullRequests()
.then(function(data) {
$scope.pullRequests = data;
});
}])
.factory('GithubService', [
'$q', '$http',
function($q, $http) {
var getPullRequests = function() {
var deferred = $q.defer();
// Get list of open angular js pull requests from github
$http.get('https://api.github.com/repos/angular/angular.js/pulls')
.success(function(data) {
deferred.resolve(data);
})
.error(function(reason) {
deferred.reject(reason);
})
return deferred.promise;
}
return { // return factory object
getPullRequests: getPullRequests
};
}]);
http://jsbin.com/cejuju/edit?html,js,output
http://www.thinksaas.cn/group/topic/264600/
AngularJS promise()的更多相关文章
- Angularjs promise对象解析
1.先来看一段Demo,看完这个demo你可以思考下如果使用$.ajax如何处理同样的逻辑,使用ng的promise有何优势? var ngApp=angular.module('ngApp',[]) ...
- angularJS promise $q
Promise 一 介绍 1.什么是promise 我们知道JavaScript语言的执行环境是“单线程”,所谓单线程,就是一次只能够执行一个任务,如果有多个任务的话就要排队,前面一个任务完成后才可以 ...
- angularjs promise详解
一.什么是Promise Promise是对象,代表了一个函数最终可能的返回值或抛出的异常,就是用来异步处理值的. Promise是一个构造函数,自己身上有all.reject.resolve这几个异 ...
- Angularjs -Promise - $http
https://www.peterbe.com/plog/promises-with-$http
- AngulaJS实战总结, 带你进入AngularJS世界(待续)
使用AngularJS 进行Hybrid App 开发已经有一年多时间了,这里做一个总结. 一.AngularJS 初始化加载流程 1.浏览器载入HTML,然后把它解析成DOM.2.浏览器载入ang ...
- 使用AngularJS 进行Hybrid App 开发已经有一年多时间了,这里做一个总结
一.AngularJS 初始化加载流程 1.浏览器载入HTML,然后把它解析成DOM.2.浏览器载入angular.js脚本.3.AngularJS等到DOMContentLoaded事件触发.4.A ...
- AngularJS 初始化加载流程
一.AngularJS 初始化加载流程 1.浏览器载入HTML,然后把它解析成DOM.2.浏览器载入angular.js脚本.3.AngularJS等到DOMContentLoaded事件触发.4.A ...
- 1.学习一下Angularjs的promisee
1.首先来了解一下promisee: 在谈论Promise之前我们要了解一下一些额外的知识:我们知道JavaScript语言的执行环境是“单线程”,所谓单线程,就是一次只能够执行一个任务,如果有多个任 ...
- AngulaJS实战
AngulaJS实战总结, 带你进入AngularJS世界(待续) 使用AngularJS 进行Hybrid App 开发已经有一年多时间了,这里做一个总结. 一.AngularJS 初始化加载 ...
随机推荐
- 剑指offer--面试题13
题目:以O(1)的时间复杂度删除单链表中的某个节点 自己所写代码如下: //以O(1)时间删除链表节点 //要求:单向链表,头指针,待删节点指针 //链表节点 struct ListNode { in ...
- Codeforces Round #363 (Div. 2)->B. One Bomb
B. One Bomb time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- Mysql忘记密码修改密码
问题重现(以下讨论范围仅限Windows环境): C:\AppServ\MySQL> mysql -u root -p Enter password: ERROR 1045 (28000): A ...
- Unity3d Detect NetState
public static bool HasConnection() { System.Net.WebClient client; System.IO.Stream stream; try { usi ...
- 果盟广告SDK
// // GuomobWallView.h // GuoMobWallSample // // Created by keyrun on 14-1-21. // Copyright (c) 2014 ...
- [LeetCode]Link List Cycle
Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using ex ...
- Android 监测手机联网状态 wifi、移动数据流量、无联网状态
手机当完成联网时会发送一个广播,我们只要创建一个广播接收者即可,代码如下: package com.example.NetworkChangeReceiver2; import android.con ...
- YUM详解
用YUM升级软件打开终端,切换到root用户,yum的操作大都须有超级用户的权限.首 先,yum update,这一步是必须的,yum会从服务器的header目录下载rpm的header,放在本地的缓 ...
- MQTT客户端与服务代理的案列
服务端,采用 Mosquitto 来转发分发消息. 客户端自己写. 服务端 启动 mosquitto (底下的命令是我自己放到环境变量里面的,通过alias 运行mosquitto) Ishallbe ...
- My_Plan part1 小结
数位DP AC十道题目以上 成就达成 八月份!三个月!想想就令人兴奋呢 开始写总结啦 貌似简单的数位DP只需要改改模板就可以啦 就按照我的做题顺序开始总结吧 先是学习了一发模板:http://www. ...