$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: '用户不存在!'};
- });
- }]);
随机推荐
- Labeled Faces in the Wild 人脸识别数据集 部分测试数据
development test set Note: images displayed are original (non-aligned/funneled) images. match pairs ...
- ChartView与LineSeries搭配实现曲线局部缩放功能
效果图: 上一篇文章实现的时候还不知道有QtChart这个模块......好好看了下资料就想做个例子实现一下这功能,比较了下代码量...恩,直接看代码: Rectangle { id: view_re ...
- java后台与jsp前台特殊字符处理(字符串编码与解码)
在后台与前台数据交互时如果有特殊字符就很容易出现问题,所以就需要对字符串进行编码传输,在获取后再进行解码: 1.Java后台进行编码与解码 URLEncoder.encode(str,"ut ...
- 数据库:mongodb与关系型数据库相比的优缺点zz (转)
与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值 ...
- GTID数据库备份
rhel6系统中,mysql 5.6复制新特性下主从复制配置[基于GTID] 1.mysql5.6在复制方面的新特性: (1).支持多线程复制:事实上是针对每个database开启相应的独立线程,即每 ...
- URL转发
原理:iframe 代码: <?php if($_SERVER['HTTP_HOST']=="i.mansions.com.cn"){ $html = <<< ...
- Android常用到的一些事件
1:查看是否有存储卡插入 String status=Environment.getExternalStorageState(); if(status.equals(Enviroment.MEDIA_ ...
- 定义查询构建器IFeatureLayerDefinition
在宗地出图,需要实现,只显示某一户人的地块.在ArcMap里,有个定义查询,可只显示过滤后的要素. 在代码中,也比较好实现,使用IFeatureLayerDefinition接口即可. IFeatur ...
- DoxygenToolkit.vim
DoxygenToolkit.vim 常用命令: 光标在函数上,用 :Dox 自动生成函数的说明. 光标在文件头,用 :DoxAthor 自动生成文件说明. 下载地址
- vue - 详细路由配置
1. 路由可配置多个 2. 路由包含嵌套子路由 3. 路由可以别名 4. 路由单独钩子 5. vue2.6.0(可以直接匹配大小写) export default new Router({ mode: ...