问题标签 [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 - AngularJS:这是链接承诺的正确方法吗?
我有一个函数foo调用另一个函数moreFoo并且我想将函数调用包装在 Promise 中,以便foo返回的 Promise 在moreFoo解决后返回。这是我的解决方案:
然后输出:
它似乎按预期工作。这是链接这些承诺的正确/最佳方式吗?
javascript - 探索/浏览承诺链
给定一个 promise 对象,是否可以浏览附加到它的不同功能?
所以有这种情况(使用角度):
有没有办法访问:
- 访问该
n
功能 在当前链之间添加一个函数
/li>
angularjs - AngularJS:承诺的范围(不是$范围)
我目前正在使用 angularjs 的 $http 服务从本地托管的 json 文件中检索数据。然后将该文件中的数据发送到控制器并通过 ui.router 在视图上显示为状态,在该视图中可以修改数据。然后,从该状态修改的数据显示在不同的状态,该状态以 json 格式显示该数据,然后由用户复制并粘贴到文档中。但是,每次更改状态时,修改后的数据似乎都会恢复到原始数据,因为每次状态更改时都需要控制器重新加载原始数据。有什么办法可以让数据只加载一次?
服务.js
客户控制器.js
javascript - 使用 AngularJS 立即返回一个已解决的承诺
我试图了解 JavaScript(特别是 AngularJS)中的承诺。
我在服务中有一个函数,我们称之为它fooService
,它检查我们是否加载了一些数据。如果有,我只希望它返回,如果没有,我们需要加载数据并返回一个承诺:
我有另一个函数,然后调用如下update
函数fooService
:
我的问题是,如果我们不需要在update
函数中加载数据,则不会返回承诺,因此.then()
不会在我的其他函数中调用。这里应该采用什么方法-基本上,update()
如果我们不需要从 Restangular 调用中获取数据,我想立即从函数中返回已解决的承诺?
angularjs - $http 和 promises 和 POST
给定如下代码:
我的理解是,如果我像这样在返回的承诺上调用 .then() :
来自适当的 .success() 和 .error() 回调的返回值被传递给 .then() 回调。
但是,我没有看到我期望的行为。 使用 GET 它可以按预期工作。有了 POST,就没有那么多了。我的假设是否应该像正常的 deferred \ promise 一样准确?它在哪里记录(除了来源)
javascript - 角度承诺在服务中的响应问题
我第一次使用 angular 1.2.18。我将它与 rails 3.2 和 coffeescript 一起使用。我正在尝试在服务中使用承诺来获取一些数据,然后我将使用这些数据来填充模板。我的代码如下所示:
当我尝试这样做时,我得到“未定义不是函数”并且没有有用的堆栈跟踪。我不确定哪个部分未定义。我曾考虑在 config() 中执行此操作,但直到运行时我才知道 $http.get(url) 中的 url 是什么。任何有关以“角度方式”执行此操作的帮助或建议将不胜感激。
javascript - 函数返回不等待 angularjs 承诺
我对 angularjs 的承诺有疑问,也许有人可以指出我正确的方向。我的控制器中有一个验证函数,如果一切正常,它应该返回 true,如果有问题,则返回 false。单页应用程序在这个假设上工作,所以我不能轻易改变这个假设......
一切正常,直到最近需求发生变化,我正在尝试检查服务器以查看之前系统中是否使用过 id 值。因此我必须对服务器进行异步调用并检查它,你可以看到我使用了 $scope.scopeData.customer.checkForDuplicateIdentity() 方法并承诺让异步调用工作。
调用工作正常我测试过,唯一的问题是我的 customerValidation 方法在异步调用完成之前完成并一直返回 false。也就是说
return isValidated 行总是在 isValidated 变为真之前执行。
我不能让外部返回语句等待异步调用完成。如果我从内部函数返回 isValidated,它不会将值返回给 customerValidation 函数。有人可以告诉我如何实现这一目标吗?
javascript - angularjs中的模拟承诺
我试图嘲笑角度承诺,但我遇到了一些错误,例如 undefined is not a function 评估 'spyOn' fileUploadService
我的控制器代码是
服务代码,我从我的控制器调用这个方法
测试控制器代码
谢谢
javascript - AngularJS:将附加参数传递给链式承诺
我想链接一些服务返回的承诺。只要某些返回承诺的方法不需要额外的参数,这就行得通。这是我的例子:
这按预期工作。但是如果我的服务second
需要一个额外的参数val
来完成它的工作呢?使用上面的方法, 的值val
是"first resolved"
,因为它是从 中获取的解析值first
。
有没有办法,没有像这样嵌套匿名函数:
我正在考虑使用$q.all
,但恕我直言,您无法为您的承诺指定订单。
javascript - $http service in AngularJS
I am new to AngularJS and I am trying to put together a practice WebApp, In the earlier versions of My App I had a single Controller and I used the $http Service to fetch Data from a JSON file like so
The $http Service worked fine, Then as I progressed I had Multiple Controllers and to Share the Data between the Controllers I moved the $http Service to a Factory like so
And here is the HTML
I don't know why for some reason the Data is not being Displayed after I moved the $http Service to a Factory, What am I doing wrong, I don't see any errors in the Console