首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Angular的$q与Promises/A+规范有什么不同?

Angular的$q与Promises/A+规范有以下不同之处:

  1. Angular的$q是AngularJS框架提供的一种Promise实现,而Promises/A+是一种规范,定义了Promise的行为和接口。
  2. Angular的$q在实现上与Promises/A+规范有一些差异,包括错误处理、链式调用、状态变迁等方面。
  3. Angular的$q在错误处理方面,使用了类似于try-catch的机制,可以通过catch方法捕获错误,并返回一个新的rejected状态的Promise。而Promises/A+规范中,错误处理是通过在then方法中传递两个回调函数来实现的,一个用于处理成功的情况,一个用于处理失败的情况。
  4. Angular的$q在链式调用方面,使用了类似于jQuery的Deferred对象的方式,可以通过then方法链式调用多个回调函数。而Promises/A+规范中,then方法返回一个新的Promise,可以通过链式调用then方法来处理多个回调函数。
  5. Angular的$q在状态变迁方面,使用了类似于jQuery的Deferred对象的方式,可以通过resolve方法将Promise状态从pending变为fulfilled,通过reject方法将Promise状态从pending变为rejected。而Promises/A+规范中,Promise的状态只能从pending变为fulfilled或rejected,一旦变为其中一种状态,就不能再改变。

总结起来,Angular的$q是AngularJS框架提供的一种Promise实现,与Promises/A+规范在实现细节上有一些差异。如果你正在使用AngularJS框架,可以使用$q来处理异步操作,但如果你希望编写符合Promises/A+规范的代码,可以考虑使用其他符合该规范的Promise库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python 中 a=a+b a+=b 什么不同

只要熟悉 Python,那么你肯定知道 a=a+b a+=b 都可以实现对对象 a 自增操作,可以除此之外,他们什么不同呢?如果这个是面试题,你会怎么回答呢?...a id 不同,它们不再是同一个对象,也就是说当 a 是数字时候,a+=b 是 a=a+b 简单写法,那么当 a 是列表时候呢?...a 原来 a id 是同一个,说明 a += b 并没有创建新对象,而 a = a+b 新创建了一个新对象,创建对象是有成本,因此在这种情况下, a+=b 性能是比较高,这一点可以验证...可变对象列表,字典,集合,类似的,a=a*b a*=b 也是一样,不过只有列表才支持 + 和 * 这种运算符。...最后的话 现在你应该明白了 a=a+b a+=b, a=a*b a*=b 区别。对于列表而言,a*=b、a*=b是在原有列表上原地进行操作,不创建新对象,性能会更高效。

1.6K30

angular 中$q服务介绍

$q $qangular中一个用来解决JS异步编程服务,借鉴了 Kris Kowal’s Q 库,可以看作是一个轻量Q库,遵循 Promises/A+规范。...关于Promise,各家均有实现,比如jqDeferred(),以及ES6原生Promise。区别是前者遵循 Promises/A规范,后者$q相同,遵循A+。...A/A+具体区别为Apromise回调不一定是异步。...在$q.defer()方法构造出实例中,一个promise属性,用来返回一个promise对象。 通过then方法,可以实现链式函数,来解决回调地狱诟病。...总结 在JS中,解决异步模式问题方法还有很多,比如回掉函数,事件监听,发布订阅等等,而angular$q提供了一个轻量promise库,虽然方法远没有Q丰富,但是基础方法都有,实用性较强,在解决异步问题时

1K50

javafx使用原理是什么?javafxjava什么不同

那么javafx使用原理是什么?javafxjava什么不同? image.png 一、javafx使用原理是什么?...在javafx这种编程语言中,属性表示为形掺和返回值,目标类中类则表示为类成员参数成员参数操作本身。“this”表示目标的属性名称,“return”则代表返回值属性名称。...形参属性名称形参本身名称相同,目标对象就是指所使用成员函数以及所能够操作对象名称。...二、javafxjava什么不同?...以上分别为大家介绍了javafx使用原理、javafxjava什么不同,作为一种静态式编程语言,java能够满足编程者不同种类型编程需求,具有一等函数、列表推导等功能,和java一样,是编程者有力地小帮手

4.7K30

初识Promises

但经过一大波码农努力,promise美终于以一种可互操、可验证方式现于世间。这一努力结果就是Promises/A+规范,它以自己方式影响了各种promises库,甚至DOM。...扯了这么多,promises到底是什么?写Node程序时它能帮上什么忙? Promises是一个。。。抽象 我们先来聊聊promise行为模式,让你对他是什么,能怎么用他个直观感受。...Promises几种编写同步函数办法。...将callbacks 变成 promises 你可能在想promise最初是从哪蹦出来。Promise/A+规范中没有规定创建promiseAPI,因为它不会影响互操作性。...因此不同promise库实现可能是不同。我们例子用Q(npm install q). Node 核心异步函数不会返回promises;它们采用了callbacks方式。

63810

你没有抓住 Promises 要点

注:这篇文章翻译自 《You're Missing the Point of Promises》,阅读这篇文章,你首先需要对于 JavaScript 中 Promises什么了解,否则,你可以先看一看这篇文章...我们根据 promise 不同状态把这个场景分解一下,就可以知道为什么这几句话那么重要了: 数据装填完成,fulfillment handler 返回了一个值值:简单函数转换 数据装填完成,但是 fulfillment...如果你也认为这样的话是对,那么你也可以写出这样扩展库,不管是 Q、when.js,或者是 WinJS,你可以使用 Promises/A 规范中最基本规则定义,去构建 promise 行为。...不过最棒是这个 Promises/A+组织开源项目,一个松耦合实现,用清晰和测试完备方式呈现扩展了原有 Promises/A 规范,成为 Promises/A+规范。...同时,这些类库是非常好地遵照 Promises/A+标准,我现在毫无保留地推荐给你: Q:Kris Kowal 和我写,一个 promise 特性完全实现类库,丰富 API、Node.js 支持

61310

互联网公司使用OKR是什么KPI什么不同

在互联网工作每一个人被要求设定自己OKR或KPI。OKR和KPI是用于设定目标和衡量结果两种不同系统在企业中被应用。OKR在国内多应用于互联网公司,如字节跳动、百度等公司。...下面我们主要了解它们是什么以及如何实现它们。” 01 什么是OKR?...例如: OKR应该有足够创造力空间,这样可以鼓舞人心,而不应该将OKR员工福利和薪酬相关。由于默认目标过于雄心勃勃,员工不应该没有达到目标而错失年度奖金。 是否不同类型OKR?...团队需要知道对我们期望,并如果将对我们奖励OKR挂钩。 不够雄心勃勃。抱负OKR全部意义在于“为目标而战”。如果不这样,就会错过人们在受到推动时可以取得成就。 设置不够或设置无用KR。...03 OKR和KPI:什么区别? OKR和KPI都是旨在设定目标并确保增长可衡量管理工具,但是它们却以截然不同方式实现。 KPI主要是关注结果,OKR主要是关注过程。 OKR代表更大愿景。

82220

新手们容易在Promise上挖坑~

这是一个非常隐蔽 bug,因为如果 PouchDB 删除这些文档足够快,你 UI 界面上显示会完成正常,你可能会完全注意不到什么东西有错误。...在早期,deferred 在 Q,When,RSVP,Bluebird,Lie等等 “优秀” 类库中被引入, jQuery Angular 在使用 ES6 Promise 规范之前,都是使用这种模式编写代码...首先,大部分 promises 类库都会提供一个方式去包装一个第三方 promises 对象。举例来说,Angular $q 模块允许你使用 $q.when包裹非 $q promises。...举例来说,为了包裹一个回调风格 API 如 Node fs.readFile ,你可以简单这么做: ? #5 使用副作用调用而非返回 下面的代码什么问题? ?...就如我前面所说,promises 奇妙在于给予我们以前 return throw。但是在实践中这到底是怎么一回事呢?

1.5K50

Promise机制

这种 thenable 特性使得 Promise 实现更具有通用性:只要其暴露出一个遵循 Promise/A+ 协议 then 方法即可;这同时也使遵循 Promise/A+ 规范实现可以那些不太规范但可用实现能良好共存...Promises/D 为了增加不同 promise 实现之间可互操作性, Promises/D 规范对 promise 对象和 Promises/B 规范做了进一步约定。...方法可能接受变参 promiseSend方法必须返回undefined Promises/A+ 前面提到 Promises/A/B/D 规范都是 CommonJS 组织提出Promises/A...+是一个自称为Promises/A+ 组织发布,该规范是以 Promises/A 作为基础进行补充和修订,旨在提高 promise 实现之间可互操作性。...此外, Promises/A+ 还提供了兼容性测试工具,以确定各个实现兼容性。

1.4K100

Promises机制

这种 thenable 特性使得 Promise 实现更具有通用性:只要其暴露出一个遵循 Promise/A+ 协议 then 方法即可;这同时也使遵循 Promise/A+ 规范实现可以那些不太规范但可用实现能良好共存...算法虽不强制要求,但也鼓励施者检测这样递归是否存在,若检测到存在则以一个可识别的 TypeError 为据因来拒绝 promise Promises规范 到目前为止Promises指定了A、B、D、A...Promises/D 为了增加不同 promise 实现之间可互操作性, Promises/D 规范对 promise 对象和 Promises/B 规范做了进一步约定。...方法可能接受变参 promiseSend方法必须返回undefined Promises/A+ 前面提到 Promises/A/B/D 规范都是 CommonJS 组织提出Promises/A...+是一个自称为Promises/A+ 组织发布,该规范是以 Promises/A 作为基础进行补充和修订,旨在提高 promise 实现之间可互操作性。

72340

Promise机制详解

这种 thenable 特性使得 Promise 实现更具有通用性:只要其暴露出一个遵循 Promise/A+ 协议 then 方法即可;这同时也使遵循 Promise/A+ 规范实现可以那些不太规范但可用实现能良好共存...Promises/D 为了增加不同 promise 实现之间可互操作性, Promises/D 规范对 promise 对象和 Promises/B 规范做了进一步约定。...方法可能接受变参 promiseSend方法必须返回undefined Promises/A+ 前面提到 Promises/A/B/D 规范都是 CommonJS 组织提出Promises/A...+是一个自称为Promises/A+ 组织发布,该规范是以 Promises/A 作为基础进行补充和修订,旨在提高 promise 实现之间可互操作性。...此外, Promises/A+ 还提供了兼容性测试工具,以确定各个实现兼容性。

1.5K70

标准Promise

序言 不同项目下lib里promise/deferred往往是差异化最多,用起来和自己习惯相比经常是缺胳膊少腿多屁眼卵用,因此聊聊标准Promise啥样 不同Promise差异基本表现如下...) .always() 等方法 是否Promise.all()方法 是否isRejected() isResolved() .then() return 结果链式处理 哪些标准 Promises.../A Promises/A+ Promises/A+兼容扩展Promises/A而来,es6里Promise准守Promises/A+规范,也是当今标准规范。...( 请使用.then() .catch()) isRejected() isResolved() 方法使用 第三方库支持 node 0.12+ 支持标准es6 promise规范 npm promise...支持标准es6规范,增加了done()等方法 npm node-promise 支持标准es6规范,增加了更多工具方法,人气不如npm promise jquery promise Promises

69550

讲讲标准 Promise 长啥样?

作者:feix760 序言 不同项目下lib里promise/deferred往往是差异化最多,用起来和自己习惯相比经常是缺胳膊少腿,因此聊聊标准Promise啥样。...不同 Promise 差异基本表现如下: 构造Promise对象 new Promise().resolve() ornew Pomise(function(resolve, reject) {})...是否 .done() .fail() .always() 等方法 是否Promise.all()方法 是否isRejected() isResolved() .then() return 结果链式处理...哪些标准 Promises/A Promises/A+ Promises/A+兼容扩展Promises/A而来,es6里Promise准守Promises/A+规范,也是当今标准规范。...支持标准es6规范,增加了done()等方法 npm node-promise 支持标准es6规范,增加了更多工具方法,人气不如npm promise jquery promise Promises

51000

前端--理解 Promise 工作原理

于是便有了 CommonJS Promises/A 规范,用于解决回调金字塔问题。本文先介绍 Promises 相关规范,然后再通过解读一个迷你 Promises 以加深理解。...什么是 Promise 一个 Promise 对象代表一个目前还不可用,但是在未来某个时间点可以被解析值。它允许你以一种同步方式编写异步代码。...Promises/D 规范 为了增加不同 promise 实现之间可互操作性,Promises/D 规范对promise 对象和 Promises/B 规范做了进一步约定。...Promises/A+ 规范 前面提到 Promises/A/B/D 规范都是CommonJS组织提出Promises/A+一个自称为Promises/A+ 组织发布,该规范是以Promises...此外,Promises/A+ 还提供了兼容性测试工具,以确定各个实现兼容性。 实现一个迷你版本Promise 上面扯了这么多规范,现在我们看看如何实现一个简单而短小Promise。

1.4K60

PKS中设备控制回路报警PID回路报警什么不同

不仅监控界面模拟量PID监控回路不同,设备控制回路所提供报警也PID回路大相径庭。PID回路中常用高报、低报、变化速率报警等统统不适用于设备控制回路,它报警自有一番别样韵味。...这是正常情况。 如果操作人员发出启动(或者停止)命令后,经过一段时间后,现场设备仍保持原有的运行状态(或者停止状态),并没有发生改变。...从发出命令开始,过多长时间去检测反馈是否已回来,是由用户根据现场实际情况自行定义。...发生这个情况原因可能是有人从现场就地将设备进行了操作,或者设备反馈信号突然出故障,无论是哪种情况,都需要及时通知操作人员,所以设备控制回路会触发一个报警,报警类型为:Uncommanded Change...仔细分析一下这两种类型报警,其根本原因都是命令输出反馈输入不一致,前者是发出了命令,却没有得到正确执行和反馈,后者是没有人发出命令,反馈却擅自发生了改变。

60820

按照 PromiseA+ 手写Promise,通过promises-aplus-tests全部872个测试用例

链接:https://juejin.cn/post/6910500073314975758 本文主要讲述如何根据 Promises/A+ 规范,一步步手写一个 Promise polyfill,代码中会配上对应规范解释...Promise.prototype.then 为什么把 then 单独从原型方法中拎出来,主要还是因为他是除了 Promise 决议逻辑之外另一个重难点,所以想单独讲解。...处理onFulfilled或者onRejected不是函数情况 // Promises/A+:2.2.1 onFulfilled 和 onRejected都是可选,如果他们不是函数,就会被忽略。...如果您还发现有什么欠缺地方,欢迎指正;如果觉得对您有用,也请点个赞哦。...代码 github 地址: [github.com/ydiguo/Prom…] Promises/A+ 规范(译本): [juejin.cn/post/691047…]

94030

手写系列-这一次,彻底搞懂 Promise

Promise 是基于 Promises/A+ 规范 实现,换句话说,我们可以按照 Promises/A+ 规范 来手写 Promise。...二、Promises/A+ 接下来,按照 Promises/A+ 规范 一步步实现 Promise。 1. Promise 基本用法 先瞅一眼 ES6 Promise 基本用法。...Promise.then 下文将按照 Promises/A+ 规范 完善 MyPromise.then 方法。 Promises/A+ 规范 中标明 then 以下要求: 1....4.1 事件队列 当遇到一个异步事件后,并不会一直等待异步事件返回结果,而是会将这个事件挂在执行栈不同队列中,我们称之为事件队列。 当所有同步任务执行完成后,系统才会读取”事件队列”。...Promise/A+ 测试 下面将用 Promise/A+ 测试工具 promises-aplus-tests 测试我们手写 Promise 是否符合规范

18630

手写系列-这一次,彻底搞懂 Promise

Promise 是基于 Promises/A+ 规范 实现,换句话说,我们可以按照 Promises/A+ 规范 来手写 Promise。...二、Promises/A+ 接下来,按照 Promises/A+ 规范 一步步实现 Promise。 1. Promise 基本用法 先瞅一眼 ES6 Promise 基本用法。...Promise.then 下文将按照 Promises/A+ 规范 完善 MyPromise.then 方法。 Promises/A+ 规范 中标明 then 以下要求: 1....4.1 事件队列 当遇到一个异步事件后,并不会一直等待异步事件返回结果,而是会将这个事件挂在执行栈不同队列中,我们称之为事件队列。 当所有同步任务执行完成后,系统才会读取”事件队列”。...Promise/A+ 测试 下面将用 Promise/A+ 测试工具 promises-aplus-tests 测试我们手写 Promise 是否符合规范

33830
领券