问题标签 [angular-promise]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Angular $http 没有调用
我是角度 js 的新手。在我当前的项目中,我为指令中的授权编写了以下代码。出于某种原因,当我调用 validateUser 函数时,$http post call 没有被调用。
我究竟做错了什么?
angularjs - 如何返回完全解决的承诺?
我正在尝试使用 $q,编写一些测试,尝试存根 Promise 等等,我想知道是否有一种方法可以返回完全解决的 Promise,就像使用 whenjs、when("stuff to return) 等这将等于这个
澄清:我知道这段代码有效,但我想在不写这个函数的情况下这样做。我想做这样的事情 $q(expectedresponse) 并获得相当于上面的代码。这就是我所追求的。就像使用 whenjs 你可以写 when(stuffToResolve) 它会给你一个完全解决的承诺。
angularjs - angular $q,如何在 for 循环内和之后链接多个 Promise
我想要一个 for 循环,每次迭代都会调用异步函数。
在 for 循环之后,我想执行另一个代码块,但不是在 for 循环中的所有先前调用都已解决之前。
我目前的问题是,要么在所有异步调用完成之前执行for循环之后的代码块,要么根本不执行。
带有 FOR 循环的代码部分及其后的代码块(完整代码请参见fiddle):
我创建了一个 jsFiddle,可以在这里找到http://jsfiddle.net/riemersebastian/B43u6/3/。
目前看起来执行顺序很好(参见控制台输出)。
我的猜测是,这仅仅是因为每个函数调用都会立即返回而不做任何实际工作。我试图用 setTimeout 延迟 defer.resolve 但失败了(即最后一个代码块从未执行过)。您可以在小提琴的注释块中看到它。
当我使用写入文件和从文件读取的实际函数时,最后一个代码块在最后一个写入操作完成之前执行,这不是我想要的。
当然,错误可能出在其中一个读/写函数中,但我想验证我在此处发布的代码没有任何问题。
angularjs - Angular JS 承诺评估
更新:我挖得更深一点,发现Angular 在1.2.0 之后不推荐使用自动展开承诺。
我知道 Angular JS 将评估作为承诺的范围变量,然后在承诺履行时更新控制器的视图。
我的问题是:
http://jsfiddle.net/dhruvkaran/Lv5vF/4/
工作得很好,但是,
http://jsfiddle.net/dhruvkaran/Lv5vF/5/
才不是。
我在这里做错了什么?
angularjs - Wait for all promises to resolve
So I have a situation where I have multiple promise chains of an unknown length. I want some action to run when all the CHAINS have been processed. Is that even possible? Here is an example:
#xA;In this example, I set up a $q.all()
for promises one, two, and three which will get resolved at some random time. I then add promises onto the ends of one and three. I want the all
to resolve when all the chains have been resolved. Here is the output when I run this code:
Is there a way to wait for the chains to resolve?
angularjs - AngularJs console.log “$q 未定义”
我在控制台中收到此错误$q is not defined
。当我进行一些研究时,我发现了一些.q library has been deprecated
类似
http://www.breezejs.com/documentation/breeze-labs/breezeangularqjs
如果是这样,那么整个 Promise 的概念也被弃用了,
angularjs - AngularJs Promise 中的 Promise
嘿伙计们,我将一些数据发布到服务器,然后基于几个变量再次发布到循环内的不同 url。
到目前为止,我正在使用作为示例:
我遇到的问题是它只查看初始 $http 调用的承诺,而不是任何内部调用。有没有办法将所有 $http 调用添加到循环内的承诺中?
干杯,本
angularjs - Angular Promise 有条件地运行
我想有条件地执行异步功能,但我认为我缺少正确的语法来表达我想要的。
当我们到达第二个时,我不知道第一个块是否做了中间步骤,所以我被迫重复这个条件。第二个块读起来很奇怪:它应该说,如果跳过中间步骤,那么做第三件事,但既然我们知道前一个块肯定做了第三件事,它就返回。所以我必须重复这个条件,然后在第二个中编写看起来很错误的代码。
我意识到我可以编写一个名为 doSecondAndThirdThings 的函数,然后从第一个块中的条件调用它,但这并不是真正的 DRY,它只是隐藏了 non-DRYness。(或者也许我错了?)
此外,对于在那个“ok”分支上返回一个完整的承诺,我仍然有点困惑。是这样吗,还是我应该说像决心这样的话? - 谢谢
javascript - AngularJS:promise,你能在使用 .then() 后将 promise 传回去吗?
我对 Angular 和承诺仍然很陌生,所以我希望我在这里有正确的想法。
我目前有一个数据层服务,它使用restangular来获取一些数据,然后返回一个承诺,就像这样......
然后,调用此函数的我的控制器收到一个承诺,就像这样......
这运作良好,但我想在我的数据存储中使用承诺,然后再将其传回。我想使用 .then() 方法检查它是否失败并进行一些日志记录,然后,从成功函数和失败函数中,我想将原始承诺返回给我的控制器。
然后我的控制器就可以像现在一样使用 .then() 方法,事实上,我根本不希望我的控制器代码改变,只是我的数据存储代码。
这是一些半伪代码,用于显示我希望我的数据存储功能执行的操作...
javascript - 如何在异步函数中对 Javascript 数组的值求和?
我正在使用 Angularjs Protractor 进行 e2e 测试,并且正在尝试对列中的值求和。在循环内部,我可以很好地打印出每个值,但我不知道如何将它们全部添加。如果我尝试在 for 循环之后返回总计,则它是未定义的。