1

我正在为现有的 Web 应用程序在 Angular 中构建一个服务层。将 $http 请求和数据按摩转移到 Angular 自定义服务中。我了解服务的依赖注入部分,但我正在努力解决成功/错误并将其传递回控制器。

我看到有些人使用 $q 的承诺。如果您对每个服务调用进行单个 REST API 调用,是否有更简单的“then()”语法?注意:后端是非标准的 REST,所以 $resource 策略对我不起作用。我无法说出处理来自服务的承诺/回调的最新推荐方式。如果您只关心成功条件,那么回调似乎很简单。最近有没有一个很好的示例应用程序可以很好地展示服务的这一方面?或文章?

4

2 回答 2

1

我最近写了一些缓存服务,我无法决定是使用延迟还是回调。我最终使用了延迟路线,我喜欢它。同样的东西写了两次,我可以肯定地说,对于使用你服务的人来说,变化只是很小的。

在回调中,它们为延续传递一个回调。

在 deferred 中,他们以菊花链方式连接 .then 并将其传递给匿名函数以进行延续。非常相似。

由于 Angular 有能力特别考虑延迟,我建议使用延迟。

如果你将作用域变量设置为 deferred,Angular 就足够聪明,可以等到 deferred.promise 被解决。一旦它被解决,Angular 就会绑定到该变量。这真是太棒了。我建议接受这一点。

于 2013-07-03T17:06:35.480 回答
0

我做了一个简单的实现服务的 plunk。getData() 这里返回一个promise,它的 .then() 有成功和错误处理程序。希望它可以帮助你:http ://plnkr.co/edit/xu9HXK4mRqwaZcz9bXZd?p=preview

于 2013-07-03T18:07:46.940 回答