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. Alert Messager

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Android中各级目录的作用

    Android中各级目录的作用 一.目录结构  src目录---存放源代码文件   gen目录---ADT插件生成的文件,(自动生成) R.java文件  drawable类---给图片生产的ID  ...

  3. iOS:集合视图UICollectionView、集合视图控制器UICollectionViewController、集合视图单元格UICollectionViewCell(创建表格的另一种控件)

    两种创建表格方式的比较:表格视图.集合视图(二者十分类似) <1>相同点:   表格视图:UITableView(位于storyboard中,通过UIViewController控制器实现 ...

  4. 高性能HTML

    避免使用Iframe Iframe也叫内联frame,可以把一个HTML文档嵌入到另一个文档中.使用iframe的好处是被嵌入的文档可以完全独立于其父文档,凭借此特点我们通常可以使浏览器模拟多线程,需 ...

  5. SQL Server Service Broker 简单例子 (转)

    SQL Server Service Broker服务体系结构 消息类型 — 定义应用程序间交换的消息的名称.还可以选择是否验证消息.约定 — 指定给定会话中的消息方向和消息类型.队列 — 存储消息. ...

  6. 详解vue父组件传递props异步数据到子组件的问题

    案例一 父组件parent.vue // asyncData为异步获取的数据,想传递给子组件使用 <template> <div> 父组件 <child :child-d ...

  7. java笔试题(5)

    1.Comparable和Comparator接口是干什么的?列出它们的区别. Java提供了只包含一个compareTo()方法的Comparable接口.这个方法可以个给两个对象排序.具体来说,它 ...

  8. JS-为句柄添加监听函数

    具体谈如何实现JS为句柄添加监听函数之前先看一段代码,算是抛出这个问题. <html> <head> <title>JS为句柄添加监听函数</title> ...

  9. Negative seek offset的解决方法

    ZIP文件解压的时候出现错误:‍Negative seek offset 原因是把rar文件直接改为ZIP. 必须要 重新压缩为ZIP文件 不能直接修改文件名.

  10. OJ帐号保存

    TOJ 614173971 HDU 宇智波佐助 POJ shiai ZOJ henyumen UVa henyumen Light OJ HENYUMEN bzoj henyumen ural 165 ...