学习
实践
活动
工具
TVP
写文章

AngularJs $q promise

angularjs提供的$q服务是对Promises规范的一个实现。$q服务可以把一段异步的代码封装成同步的样式。 为啥是样式,因为异步还是异步,它并不会柱塞代码,只是看起来像同步代码。 其实把ajax请求改写成promise并不能体现$q的威力。 改写后代码跟原来的代码没有太大的差别。 no promise: getName(id,function(){},function()); promise: getName(id).then(function(){},function(){}) ; promise形式只是把2个回掉提到了then方法里,只是看起来更同步了一点而已。 其实$http服务本身就是通过$q来实现的promise,所以当你使用$q来做ajax的时候已经非常promise了。

17600

angularjs promise详解

一、什么是Promise Promise是对象,代表了一个函数最终可能的返回值或抛出的异常,就是用来异步处理值的。 二、为什么使用Promise 有了Promise对象,就可以把异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供了统一的接口,使得控制异步操作更加容易。 ; } } }]) }); 讲一下$q服务 q服务是AngularJS中自己封装实现的一种Promise实现。 3.Promise API 当创建 deferred 实例时会创建一个新的 promise 对象,并可以通过 deferred.promise 得到该引用。 promise对象 when() 传入一个不确定的参数,如果符合Promise标准,就返回一个promise对象。

57450
  • 广告
    关闭

    2022腾讯全球数字生态大会

    11月30-12月1日,邀您一起“数实创新,产业共进”!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    AngularJs $q promise

    angularjs提供的$q服务是对Promises规范的一个实现。$q服务可以把一段异步的代码封装成同步的样式。 为啥是样式,因为异步还是异步,它并不会柱塞代码,只是看起来像同步代码。 其实把ajax请求改写成promise并不能体现$q的威力。 改写后代码跟原来的代码没有太大的差别。 no promise: getName(id,function(){},function()); promise: getName(id).then(function(){},function(){}) ; promise形式只是把2个回掉提到了then方法里,只是看起来更同步了一点而已。 其实$http服务本身就是通过$q来实现的promise,所以当你使用$q来做ajax的时候已经非常promise了。

    31060

    AngularJS 中的Promise --- $q服务详解

    先说说什么是Promise,什么是$q吧。Promise是一种异步处理模式,有很多的实现方式,比如著名的Kris Kwal's Q还有JQuery的Deffered。 但是有了Promise这种规范,它能帮助开发者用同步的方式,编写异步的代码,比如在AngularJS中可以使用这种方式: deferABC.resolve(xxx) .then(funcSuccess( 小白让舍友带饭() .then(韭菜鸡蛋,西红柿炒鸡蛋) .finally(带包烟) $q服务 q服务是AngularJS中自己封装实现的一种Promise实现,相对与Kris Kwal's Q要轻量级的多 ,返回一个promise对象 when() 传入一个不确定的参数,如果符合Promise标准,就返回一个promise对象。 myAppModule.controller("myctrl",["$scope","$q",function($scope, $ q ){ $scope.test = 1;//这个只是用来测试angularjs

    42890

    AngularJS】 # AngularJS入门

    AngularJS 扩展了 HTML AngularJS 通过 ng-directives扩展了HTML ng-app 指令定义一个 AngularJS 应用程序。 若不声明,将直接显示表达式。 AngularJS 服务(service) 在 AngularJS 中,服务是一个函数或对象,可在 AngularJS 应用中使用。 7.1. AngularJS 选择框(select) AngularJS 可以使用数组或对象创建一个下拉列表选项。 8.1. AngularJS HTML DOM AngularJS 为 HTML DOM 元素的 属性 提供了绑定应用数据的指令。 AngularJS 实例 <!

    9460

    AngularJS】—— 1 初识AngularJs

    怀着激动与忐忑的心情,开始了学习AngularJS的旅程,很久之前就听说了这个前端框架,但是由于自己一直没有从事相关的工作,因此也没有进行学习。 这次正好学习AngularJS,直接复习一下前端的知识。目前这里还是弱点,慢慢深入的学习。   AngularJS是Google的优秀的前端框架,目前已经应用于多个产品。    AngularJs相对于其他的框架来说,有一下的特性:   1 MVVM   2 模块化   3 自动化双向数据绑定   4 语义化标签   5 依赖注入   由于很多概念都不了解,这些特性也无法理解。 通过简单的学习,大致了解了AngularJS的语法以及使用,包括如下的内容: 1 表达式   支持普通的JS表达式,表达式通过{{}}使用。 p>姓名:<input type="text" ng-model="firstName">

    你输入的为: {{ firstName }}

      ng-app 定义AngularJS

    27390

    AngularJS】—— 2 初识AngularJs(续)

    前一篇了解了AngularJS的一些简单的使用,这里继续跟着w3c学习一下剩下的内容。    本篇根据w3cschool.cc继续学习AngularJS剩余的内容,包括:   1 事件   2 模块   3 表单   4 数据验证   5 bootstrap CSS风格   6 include包含其他页面 $scope.myVar; }; } </script>   关于AngularJS的模块   模块定义了用户的应用,所有的控制器属于一个模块。之前使用的ng-app就是模块的定义。    src="myCtrl.js"></script> </body>   对于控制器,也可以通过模块来定义声明: <head> <script src="//www.w3cschool.cc/try/<em>angularjs</em> 关于<em>AngularJS</em>表单   表单是web中重要的组成部分,如下面样例所示,可以很方便的获取到form中的数据 <div ng-app="" ng-controller="formController

    35080

    AngularJS

    scope:单个controller的作用域。可以直接在某controller下的页面引用scope下的变量 rootScope:多个controller作...

    29230

    JavaScript手写PromisePromise.then()、Promise.all()、Promise.race()

    我们可以将传给then函数和新Promise的resolve一起push到前一个Promise的callbacks数组中,达到承前启后的效果: 承前:当前一个Promise完成后,调用其resolve变更状态 如果返回的结果是个Promise,则需要等它完成之后再出发新Promise的resolve,所以可在其结果的then里调用新Promise的resolve then(onFulfilled, onReject 这个方法返回一个新的Promise对象 遍历传入的参数,用Promise.resolve()将参数“包一层”,使其变成一个Promise对象 参数所有回调成功才是成功,返回值数组与参数顺序一致 参数数组其中一个失败 ,则触发失败状态,第一个触发失败状态的Promise错误信息作为Promise.all的错误信息 function promiseAll(promises){ return new Promise 因为Promise的状态只能改变一次,那么我们只需要把Promise.race中产生的Promise对象的resolve,注入到数组中的每一个Promise实例中的回调函数即可。

    8310

    AngularJS 模块

    现在你可以在 AngularJS 应用中添加控制器,指令,过滤器等。 完整的指令内容可以参阅 AngularJS 参考手册。 AngularJS 模块让所有函数的作用域在该模块下,避免了该问题。 ---- 什么时候载入库? 在我们的实例中,所有 AngularJS 库都在 HTML 文档的头部载入。 在我们的多个 AngularJS 实例中,您将看到 AngularJS 库是在文档的 <head> 区域被加载。 另一个解决方案是在 <body> 元素中加载 AngularJS 库,但是必须放置在您的 AngularJS 脚本前面: AngularJS 实例 <!

    10220

    AngularJs(3)

    <script type="text/javascript" src="angular.min.js"></script>

    22920

    AngularJS XMLHttpRequest

    $http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。 $http.delete $http.jsonp $http.patch 读取 JSON 文件 以下是存储在web服务器上的 JSON 文件: https://www.runoob.com/try/angularjs $http AngularJS $http 是一个用于读取web服务器上数据的服务。 通用方法实例 AngularJS1.5 以上版本 - 实例 var app = angular.module('myApp', []); app.controller('siteCtrl', AngularJS 应用通过 ng-app 定义。应用在

    angularjs

    最近在开发过程中,发现一个问题,在使用angularjs的ng-repeat遍历过程中,如果遍历的数组中包含相同的项,则会抛错。 如下例: <!

    31331

    AngularJS 事件

    AngularJS 有自己的 HTML 事件指令。 ---- ng-click 指令 ng-click 指令定义了 AngularJS 点击事件。 AngularJS 实例

    AngularJS Bootstrap

    AngularJS 的首选样式表是 Twitter Bootstrap, Twitter Bootstrap 是目前最受欢迎的前端框架。 Bootstrap 你可以在你的 AngularJS 应用中加入 Twitter Bootstrap,你可以在你的 <head>元素中添加如下代码: <link rel="stylesheet" href ="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 以下是一个完整的 HTML 实例, 使用了 AngularJS 指令和 glyphicon-save"> Save Changes </button>

    <script src = "myUsers.js"></script> </body> </html> 指令解析 AngularJS

    12520

    angularjs技术

    angularjs第一天 五大事件 1、绑定事件 ,ng-model; 2、绑定对应的控制器,ng-controller; 3、绑定对应的APP,ng-app; 4、单击事件,ng-click; 5、初始化事件,ng-init; 引入angularjs,使用angularjs语法 < script src=”…/plugins/angularjs/angular.min.js” type=“ text/javascript”> </ script> 引入pagination分页插件 < script src=”…/plugins/angularjs/pagination.js” type =“text/javascript”> </ script> < link rel=“stylesheet” href=”…/plugins/angularjs/pagination.css”/> app = angular.module(‘pinyougou’,[‘pagination’]); 定义一个控制器,在其控制器中可编写方法,$scope可指代网页中的任何一个元素, $http是angularjs

    5420

    初识AngularJS

    一、AngularJS是什么? AngularJS,简称:ng 它是一款非常优秀的前端高级JS框架 由Misko Hevery等人创建 2009年被Google公司收购,用于其多款产品 有一个全职的开发团队继续开发和维护这个库 这个框架可以轻松构建 然后发送ajax异步请求,将服务端返回的数据渲染到浏览器页面上 三、AngularJS四个特性 MVC(我更倾向于MVVM) 模块化 自动化双向数据绑定 指令系统 四、AngularJS的发展趋势 当前热门前端框架 当前热门前端框架:vue、react 虽然AngularJS正在走向没落,但是我们要知道它背后所带来的价值。

    6120

    Promise

    promise就是一个对象,用来传递异步操作的消息,它代表未来才会知道的结果。 它有两个特点 (1)对象状态不受外界影响。 rejected) 缺点 (1)无法取消 (2)不设置回调函数,内部错误不会反应到外部 (3)处于pending状态无法得知进展到哪里 使用例子 //一般不这么用 promise.then }, (error) => { //fail //第二个参数可选 }).done(); //推荐 promise.then

    57790

    AngularJS简介

    AngularJS简介 AngularJS是一个JavaScript矿建,他是一个JavaSscript编写的库。可以通过<script>标签添加到HTML页面。 AngularJS属性以ng-开头,但是您可以使用data-ng-来让网页对HTML5有效。 什么是AngularJS? AngularJS 可以克隆和重复 HTML 元素。 AngularJS 可以隐藏和显示 HTML 元素。 AngularJS 可以在 HTML 元素”背后”添加代码。 AngularJS 支持输入验证。 AngularJS 表达式 AngularJS 表达式写在双大括号内:{ { expression }}。 实例 { { 5 + 5 }} 或 { { firstName + ” ” + lastName }} AngularJS 应用 AngularJS 模块(Module) 定义了 AngularJS

    8020

    扫码关注腾讯云开发者

    领取腾讯云代金券