问题标签 [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.

0 投票
1 回答
64 浏览

javascript - Angular $http 没有调用

我是角度 js 的新手。在我当前的项目中,我为指令中的授权编写了以下代码。出于某种原因,当我调用 validateUser 函数时,$http post call 没有被调用。

我究竟做错了什么?

0 投票
1 回答
249 浏览

angularjs - 如何返回完全解决的承诺?

我正在尝试使用 $q,编写一些测试,尝试存根 Promise 等等,我想知道是否有一种方法可以返回完全解决的 Promise,就像使用 whenjs、when("stuff to return) 等这将等于这个

澄清:我知道这段代码有效,但我想在不写这个函数的情况下这样做。我想做这样的事情 $q(expectedresponse) 并获得相当于上面的代码。这就是我所追求的。就像使用 whenjs 你可以写 when(stuffToResolve) 它会给你一个完全解决的承诺。

0 投票
4 回答
82012 浏览

angularjs - angular $q,如何在 for 循环内和之后链接多个 Promise

我想要一个 for 循环,每次迭代都会调用异步函数。

在 for 循环之后,我想执行另一个代码块,但不是在 for 循环中的所有先前调用都已解决之前。

我目前的问题是,要么在所有异步调用完成之前执行for循环之后的代码块,要么根本不执行。

带有 FOR 循环的代码部分及其后的代码块(完整代码请参见fiddle):

我创建了一个 jsFiddle,可以在这里找到http://jsfiddle.net/riemersebastian/B43u6/3/

目前看起来执行顺序很好(参见控制台输出)。

我的猜测是,这仅仅是因为每个函数调用都会立即返回而不做任何实际工作。我试图用 setTimeout 延迟 defer.resolve 但失败了(即最后一个代码块从未执行过)。您可以在小提琴的注释块中看到它。

当我使用写入文件和从文件读取的实际函数时,最后一个代码块在最后一个写入操作完成之前执行,这不是我想要的。

当然,错误可能出在其中一个读/写函数中,但我想验证我在此处发布的代码没有任何问题。

0 投票
1 回答
1680 浏览

angularjs - Angular JS 承诺评估

更新:我挖得更深一点,发现Angular 在1.2.0 之后不推荐使用自动展开承诺。

我知道 Angular JS 将评估作为承诺的范围变量,然后在承诺履行时更新控制器的视图。

我的问题是:

http://jsfiddle.net/dhruvkaran/Lv5vF/4/

工作得很好,但是,

http://jsfiddle.net/dhruvkaran/Lv5vF/5/

才不是。

我在这里做错了什么?

0 投票
5 回答
107102 浏览

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:

#xA;

Is there a way to wait for the chains to resolve?

0 投票
2 回答
27474 浏览

angularjs - AngularJs console.log “$q 未定义”

我在控制台中收到此错误$q is not defined。当我进行一些研究时,我发现了一些.q library has been deprecated类似 http://www.breezejs.com/documentation/breeze-labs/breezeangularqjs

如果是这样,那么整个 Promise 的概念也被弃用了,

0 投票
1 回答
3623 浏览

angularjs - AngularJs Promise 中的 Promise

嘿伙计们,我将一些数据发布到服务器,然后基于几个变量再次发布到循环内的不同 url。

到目前为止,我正在使用作为示例:

我遇到的问题是它只查看初始 $http 调用的承诺,而不是任何内部调用。有没有办法将所有 $http 调用添加到循环内的承诺中?

干杯,本

0 投票
1 回答
3499 浏览

angularjs - Angular Promise 有条件地运行

我想有条件地执行异步功能,但我认为我缺少正确的语法来表达我想要的。

当我们到达第二个时,我不知道第一个块是否做了中间步骤,所以我被迫重复这个条件。第二个块读起来很奇怪:它应该说,如果跳过中间步骤,那么做第三件事,但既然我们知道前一个块肯定做了第三件事,它就返回。所以我必须重复这个条件,然后在第二个中编写看起来很错误的代码。

我意识到我可以编写一个名为 doSecondAndThirdThings 的函数,然后从第一个块中的条件调用它,但这并不是真正的 DRY,它只是隐藏了 non-DRYness。(或者也许我错了?)

此外,对于在那个“ok”分支上返回一个完整的承诺,我仍然有点困惑。是这样吗,还是我应该说像决心这样的话? - 谢谢

0 投票
1 回答
1659 浏览

javascript - AngularJS:promise,你能在使用 .then() 后将 promise 传回去吗?

我对 Angular 和承诺仍然很陌生,所以我希望我在这里有正确的想法。

我目前有一个数据层服务,它使用restangular来获取一些数据,然后返回一个承诺,就像这样......

然后,调用此函数的我的控制器收到一个承诺,就像这样......

这运作良好,但我想在我的数据存储中使用承诺,然后再将其传回。我想使用 .then() 方法检查它是否失败并进行一些日志记录,然后,从成功函数和失败函数中,我想将原始承诺返回给我的控制器。

然后我的控制器就可以像现在一样使用 .then() 方法,事实上,我根本不希望我的控制器代码改变,只是我的数据存储代码。

这是一些半伪代码,用于显示我希望我的数据存储功能执行的操作...

0 投票
2 回答
2361 浏览

javascript - 如何在异步函数中对 Javascript 数组的值求和?

我正在使用 Angularjs Protractor 进行 e2e 测试,并且正在尝试对列中的值求和。在循环内部,我可以很好地打印出每个值,但我不知道如何将它们全部添加。如果我尝试在 for 循环之后返回总计,则它是未定义的。