angularjs 系列之$q和promise】的更多相关文章

还是同一个项目,在项目中,发现多个controller之内有一个共同的服务器请求,当时只是不断的重复使用,如今,现在项目结束,代码开始走向了优化迭代的阶段: 首先,我的思路是把这个共同的请求,从controller里抽出来,做成一个服务,然后在需要的controller里注入: 第一个问题是请求服务器数据: var app = angular.module('testApp',['ui.bootstrap']); app.factory('myService',['$http','$q',fun…
目录: AngularJS 系列 01 - HelloWorld和数据绑定 AngularJS 系列 02 - 模块 (持续更新)…
浅谈Angular的 $q, defer, promise 时间 2016-01-13 00:28:00  博客园-原创精华区 原文  http://www.cnblogs.com/big-snow/p/5126059.html 主题 PromiseAngularJS 1. $q $q是Angular的一种内置服务,它可以使你异步地执行函数,并且当函数执行完成时它允许你使用函数的返回值(或异常). 2. defer defer的字面意思是延迟, $q.defer()  可以创建一个deferre…
目录导读: AngularJS 系列 学习笔记 目录篇 前言: 好记性不如烂键盘,随笔就是随手笔记,希望以后有用. 本篇目录: 1. Hello World 2. AngularJS中的数据绑定 3. 简单的数据绑定 4. 数据绑定的最佳实践 1. Hello World 写一个Hello World的应用是咱们接触任何一个语言的基本途径,AngularJS也是如此. 随着学习的深入,我们会逐渐深入到AngularJS的内部原理中,现在,废话不多说,开始咱们的Hello World. 这里我使用…
引导目录: AngularJS 系列 学习笔记 目录篇 前言: 其实,在上篇文章介绍数据绑定的时候,我们的HelloWorld的代码案例中就已经使用了模块(module).哈哈. 本篇就着重介绍一下angular.module()的使用. 本篇目录: 1. 为什么需要模块 2. 什么是AngularJS的模块 3. 参数 1. 为什么需要模块 在JavaScript中,将所有的函数代码全部都定义在全局空间中绝对不是一个好的选择. 暂且不说变量作用域冲突 全局变量污染怎么破,你调试的时候是不是得浪…
AngularJS深入的系列就是这九篇博客了,把我以前在项目中应用到的和自己学习的都总结在了里面.为了更方便的看,把我写的AngularJS系列的博客都列到下面.之后就开始学习ionic:html5移动开发框架,它是基于AngularJS的移动开发框架.希望大家多多关注我的博客,多多推荐. AngularJS之站在jQuery的肩膀上: http://www.cnblogs.com/xuema/p/4335180.html AngularJS应用开发思维之1:声明式界面  http://www.…
第一部分关于js中的异步编程 异步编程简单的说就是你写了一段代码,但他不会按照你书写代码的顺序立即执行,而是等到程序中发生了某个事件(如用户点击了某个按钮,某个ajax请求得到了响应)才去执行这段代码,而且这段代码可能执行一次(如一个ajax请求得到了响应).也可能执行很多次或者不执行(一个按钮被点击了许多次或者0次)这就是所谓的异步编程. 有两种异步程序模式单次执行模式和监听执行模式.像ajax请求这样的就是属于单次执行模式,请求.回调只会进行一次.像事件绑定就属于监听执行模式,只要事件发生回…
目录 使用promise 补充说明 $q.all $q.when 在上节中,我们在http中使用了then 和 在ngResource中返回了一个'延迟对象'. 本节介绍一下angular中的promise. 我觉得可以把js中的promise比作c#中的Task 的await 以同步的时候 实现回调. 使用promise 我们先可以了解一下$q的defer()方法创建的对象具有哪些方法 resolve(value):用来执行deferred promise,value可以为字符串,对象等. r…
目录 原理 angular-route ui-router 事件 深度路由 原理 ng的route本质是监听hashchange事件. 在angular-route中 $rootScope.$on('$locationChangeStart', prepareRoute); $rootScope.$on('$locationChangeSuccess', commitRoute); 在ui-router中 listener = listener || $rootScope.$on('$locat…
先说说什么是Promise,什么是$q吧.Promise是一种异步处理模式,有很多的实现方式,比如著名的Kris Kwal's Q还有JQuery的Deffered. 什么是Promise 以前了解过Ajax的都能体会到回调的痛苦,同步的代码很容易调试,但是异步回调的代码,会让开发者陷入泥潭,无法跟踪,比如: funA(arg1,arg2,function(){ funcB(arg1,arg2,function(){ funcC(arg1,arg2,function(){ xxxx.... })…