$q服务的使用
1. 创建一个Service,去服务器读取数据:
- // $q 是内置服务,所以可以直接使用
- ngApp.factory('UserInfo', ['$http', '$q', function ($http, $q) {
- return {
- query : function() {
- var deferred = $q.defer(); // 声明延后执行,表示要去监控后面的执行
- $http({method: 'GET', url: 'scripts/mine.json'}).
- success(function(data, status, headers, config) {
- deferred.resolve(data); // 声明执行成功,即http请求数据成功,可以返回数据了
- }).
- error(function(data, status, headers, config) {
- deferred.reject(data); // 声明执行失败,即服务器返回错误
- });
- return deferred.promise; // 返回承诺,这里并不是最终数据,而是访问最终数据的API
- } // end query
- };
- }]);
2. 在Controller上(以同步方式)使用这个Service:
- angular.module('ngApp')
- .controller('MainCtrl', ['$scope', 'UserInfo', function ($scope, UserInfo) { // 引用我们定义的UserInfo服务
- var promise = UserInfo.query(); // 同步调用,获得承诺接口
- promise.then(function(data) { // 调用承诺API获取数据 .resolve
- $scope.user = data;
- }, function(data) { // 处理错误 .reject
- $scope.user = {error: '用户不存在!'};
- });
- }]);
随机推荐
- iOS开源项目:PullToRefresh
PullToRefresh实现了类似微博下拉刷新的功能:https://github.com/sonnyparlin/PullToRefresh 首先把PullToRefreshView.h, Pul ...
- 关于FFmpegInterop项目的编译
如果是从git 上下载的最新版本 FFmpeg,那么打开VS2015编译时会报出一个错误 C4996 'av_free_packet': 被声明为已否决 FFmpegInterop ...
- windows服务器提权前请先执行systeminfo命令
pr.巴西烤肉 对应补丁 好多朋友见到Windows服务器就祭出pr.巴西烤肉一气搞,忙完免杀又忙找可写目录,最后发现服务器打上了对应的补丁.笔者在提权前都会执行systeminfo命令,查看对应补丁 ...
- 自定义崩溃界面 CustomActivityOnCrash
项目地址:https://github.com/Ereza/CustomActivityOnCrash The inner workings are based on ACRA's dialog re ...
- build path libraries java基础--Jar包添加到build path方式说明--01
摘自: http://blog.csdn.net/haolongabc/article/details/7007701 java基础--Jar包添加到build path方式说明--01 前言:这段短 ...
- Linux CentOS7 系统目录详解
1.目录结构 2.文件类型 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码.SHELL脚本.二进制的可执行文件 ...
- Android之旅 自我图示总结四大组件
最近学完了Android的四大组件的基础知识,自己总结了一个图示,希望自己看到这个图的时候能回忆起相关的知识点,与大家分享!
- Graph Automata Player
题目action=problem&type=show&id=12839&courseid=269">here 第一道高速幂.同一时候也是第一道高斯消元. 输入的 ...
- 矩阵的frobenius范数及其求偏导法则
例子: http://www.mathchina.net/dvbbs/dispbbs.asp?boardid=4&Id=3673
- kCGImagePropertyExifDictionary 引用错误
kCGImagePropertyExifDictionary 引用错误 使用 AVFoundation拍照 //获取图片 [outputImage captureStillImageAsynchron ...