1. 创建一个Service,去服务器读取数据:

  1. // $q 是内置服务,所以可以直接使用
  2. ngApp.factory('UserInfo', ['$http', '$q', function ($http, $q) {
  3. return {
  4. query : function() {
  5. var deferred = $q.defer(); // 声明延后执行,表示要去监控后面的执行
  6. $http({method: 'GET', url: 'scripts/mine.json'}).
  7. success(function(data, status, headers, config) {
  8. deferred.resolve(data);  // 声明执行成功,即http请求数据成功,可以返回数据了
  9. }).
  10. error(function(data, status, headers, config) {
  11. deferred.reject(data);   // 声明执行失败,即服务器返回错误
  12. });
  13. return deferred.promise;   // 返回承诺,这里并不是最终数据,而是访问最终数据的API
  14. } // end query
  15. };
  16. }]);

2. 在Controller上(以同步方式)使用这个Service:

  1. angular.module('ngApp')
  2. .controller('MainCtrl', ['$scope', 'UserInfo', function ($scope, UserInfo) { // 引用我们定义的UserInfo服务
  3. var promise = UserInfo.query(); // 同步调用,获得承诺接口
  4. promise.then(function(data) {  // 调用承诺API获取数据 .resolve
  5. $scope.user = data;
  6. }, function(data) {  // 处理错误 .reject
  7. $scope.user = {error: '用户不存在!'};
  8. });
  9. }]);

随机推荐

  1. mac下的一些命令

    1.显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool true 2.隐藏隐藏文件 defaults write com.ap ...

  2. C#和Java交互相关研究

    之前总觉得C#和Java可以交互应用,但是由于时间以及其他方面的原因,一直没有调研.今天抽空搜了一下,终于折腾出来了. 以下是我自己就C#和Java整合的一些提问和分析,如果有不对的地方,请路过的各位 ...

  3. 分别用Java和JS读取Properties文件内容

    项目中经常用到的配置文件,除了XML文件之外,还会用到Properties文件来存储一些信息,例如国际化的设置.jdbc连接信息的配置等.有时候也会把一些路径或者sql语句放到Properties中, ...

  4. 小课堂week19 编程范式巡礼最终季 超级范式

    编程范式巡礼(最终季)--超级范式 本周是编程范式系列的最后一次分享,让我们拉长视角,看向远方,进入"元编程"的领域,在<冒号课堂>中起了个很酷的名字:"超级 ...

  5. Oracle PL/SQL语句基础学习笔记(上)

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE server和其它工具中了,近几年中很多其它的开发者和DBA開始使用PL/SQL,本文将讲述PL ...

  6. SQL语言 之 数据查询

    在Oracle 数据库中,SELECT 语句的基本语法为: SELECT [ALL|DISTINCT] column_name [,expression...] FROM table1_name [, ...

  7. Scala数据类型中的Symbol(符号文本)

    1.属于基本类型,被映射成scala.Symbol 2.当两个Symbol值相等时,指向同一个实例 3.Symbol类型存在的意义:作为不可变的字符串,同时不必重复地为相同对象创建实例,节省资源.这类 ...

  8. android 实现摇一摇功能

    实现“摇一摇”功能,其实很简单,就是检测手机的重力感应,具体实现代码如下: 一.在 AndroidManifest.xml 中添加操作权限 二.实现代码 package com.xs.test; im ...

  9. mindmanager2018官方下载地址

      mindmanager2018官方下载地址 CreationTime--2018年6月6日09:09:56 Author:Marydon 找了很多都是假的链接地址,流氓软件,根本不能输入许可密钥, ...

  10. 保护心灵窗口——防蓝光软件f.lux

    一款根据时间变化来自动改变屏幕色温的软件.让你在深夜也能感受到太阳的温暖,顺便还有助于睡眠.相较于花大价钱购置防蓝光屏或者防蓝光膜,这款软件还是excellent的 首先,概念科普(蓝光的危害就略略略 ...