我在Angular中为现有的网络应用构建服务层。将$ http请求和数据按摩移动到Angular自定义服务中。我了解服务的依赖注入部分,但我正在努力解决成功/错误并将其传回控制器。
我看到有些人使用$ q的承诺。是否更容易"然后()"如果您为每个服务调用执行单个REST API调用,则为promise的语法?注意:后端是非标准REST,因此$ resource策略对我不起作用。我很难说出最新推荐的处理服务承诺/回调的方法。如果您关心的只是成功条件,回调似乎很简单。是否有一个很好的最近的示例应用程序,显示这方面的服务很好?还是文章?
答案 0 :(得分:1)
我最近写了一些缓存服务,我无法决定使用延迟还是回调。我最终使用了延迟路线,我喜欢它。两次写同样的东西后,我可以肯定地说,对于使用您服务的人来说,变化只是轻微的。
在回调中,它们传递一个回调继续。
在延迟中,它们以菊花链形式连接。然后传递一个匿名函数用于延续。非常相似。
由于Angular有能力特别考虑延期,我建议使用延期。
如果将范围变量设置为延迟,则Angular足够智能,可以等到deferred.promise被解析。解析后,Angular将绑定到变量。这非常棒。我建议接受它。
答案 1 :(得分:0)
我做了一个实现服务的简单插件。 getData()这里返回一个promise,它的.then()同时包含成功和错误处理程序。希望它可以帮到你:http://plnkr.co/edit/xu9HXK4mRqwaZcz9bXZd?p=preview