在AngularJS中创建新服务的优势是什么?

困苦的人

在使用AngularJS时,为什么提供新服务而不是仅仅坚持$ http会有好处?

我为什么要做这样的事情:

app.factory('forecast', ['$http', function($http) { 
    return $http.get('https://s3.amazonaws.com/codecademy-content/courses/ltp4/forecast-api/forecast.json')
        .success(function(data) { 
          return data; 
        }) 
        .error(function(err) { 
          return err; 
        }); 
}]);



app.controller('MainController', ['$scope', 'forecast', function($scope, forecast) {
    forecast.success(function(data) {
        $scope.fiveDay = data;
    });
}]);

当我可以坚持下去的时候:

app.controller('MainController', ['$scope', '$http', function($scope, $http) {

    $http.get('https://s3.amazonaws.com/codecademy-content/courses/ltp4/forecast-api/forecast.json') 
        .success(function(data) { 
          $scope.fiveDay = data;
        }) 
        .error(function(err) { 
          return err; 
        }); 
}]);

也许在这种情况下并不重要,但是由于您可以在AngularJS中创建新服务,因此我认为在某些情况下它是有益的。提前致谢!

亚数位

如果现在需要一个名为WeatherController的新控制器,该控制器想要访问与MainController相同类型的天气数据,将会发生什么情况。如果没有预测服务,则必须剪切并粘贴并重复$ http.get。

如果只限于两个实例,那很好。但是,如果Forecast-api URL发生变化会怎样?现在,您必须在2个位置进行更改。

如果您想要10天的预报怎么办?

服务或任何模块化代码的重点是帮助将离散的代码块分离为模块,这些模块可以在需要的任何地方重复使用。然后,您只需要担心一个地方可以修复或更改服务。

有时很难看到仅在一个地方需要它,但是在编写代码时,您必须考虑一些迭代,以尝试预见其他合理的用例,以使生活更轻松。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

本地WCF服务的优势是什么?

来自分类Dev

OpenCL中本地内存的优势是什么?

来自分类Dev

PID的优势是什么?

来自分类Dev

在AngularJS中链接对服务的调用的正确方法是什么?

来自分类Dev

在AngularJS中,最简单的声明工厂/服务的方法是什么?

来自分类Dev

在类实例中创建新变量的意义是什么?

来自分类Dev

AngularJS中的“ = *”是什么

来自分类常见问题

在MVC5中使用异步的优势是什么?

来自分类Dev

Xcode 6:“源代码控制:在...中创建git存储库”下拉菜单中的“添加到新服务器”项是什么意思?

来自分类Dev

angularjs中服务的范围是什么?

来自分类常见问题

AngularJS比jQuery有什么优势?

来自分类Dev

AngularJS中的$ scope是什么?

来自分类Dev

AngularJS中的$ get是什么?

来自分类Dev

AngularJS中的parentValueWatch是什么?

来自分类Dev

AngularJS中的组件是什么?

来自分类Dev

AngularJS中的。$ uibModal是什么?

来自分类Dev

Angularjs中的模块是什么?

来自分类Dev

Angularjs 中的 $aria 是什么?

来自分类Dev

创建新班级的利弊是什么?

来自分类Dev

从 params 创建新哈希的方法是什么?

来自分类Dev

在Spring Boot中使用服务包装而不是jar运行的优势是什么?

来自分类Dev

这些AWS服务的优势和局限性是什么:放大,CDK和SAM?

来自分类Dev

在Spring Boot中使用服务包装而不是jar运行的优势是什么?

来自分类Dev

在用于创建新Class的模块中创建自变量var名称的正确方法是什么?

来自分类Dev

擦除整个数据并将新数据加载到服务表中的好方法是什么?

来自分类Dev

在服务中以编程方式创建项目的最佳方法是什么?

来自分类Dev

应用程序启动后,在服务器中创建文件的正确方法是什么?

来自分类Dev

在Java中使用Supplier的优势是什么?

来自分类Dev

Redis键值存储的Riak优势是什么?

Related 相关文章

  1. 1

    本地WCF服务的优势是什么?

  2. 2

    OpenCL中本地内存的优势是什么?

  3. 3

    PID的优势是什么?

  4. 4

    在AngularJS中链接对服务的调用的正确方法是什么?

  5. 5

    在AngularJS中,最简单的声明工厂/服务的方法是什么?

  6. 6

    在类实例中创建新变量的意义是什么?

  7. 7

    AngularJS中的“ = *”是什么

  8. 8

    在MVC5中使用异步的优势是什么?

  9. 9

    Xcode 6:“源代码控制:在...中创建git存储库”下拉菜单中的“添加到新服务器”项是什么意思?

  10. 10

    angularjs中服务的范围是什么?

  11. 11

    AngularJS比jQuery有什么优势?

  12. 12

    AngularJS中的$ scope是什么?

  13. 13

    AngularJS中的$ get是什么?

  14. 14

    AngularJS中的parentValueWatch是什么?

  15. 15

    AngularJS中的组件是什么?

  16. 16

    AngularJS中的。$ uibModal是什么?

  17. 17

    Angularjs中的模块是什么?

  18. 18

    Angularjs 中的 $aria 是什么?

  19. 19

    创建新班级的利弊是什么?

  20. 20

    从 params 创建新哈希的方法是什么?

  21. 21

    在Spring Boot中使用服务包装而不是jar运行的优势是什么?

  22. 22

    这些AWS服务的优势和局限性是什么:放大,CDK和SAM?

  23. 23

    在Spring Boot中使用服务包装而不是jar运行的优势是什么?

  24. 24

    在用于创建新Class的模块中创建自变量var名称的正确方法是什么?

  25. 25

    擦除整个数据并将新数据加载到服务表中的好方法是什么?

  26. 26

    在服务中以编程方式创建项目的最佳方法是什么?

  27. 27

    应用程序启动后,在服务器中创建文件的正确方法是什么?

  28. 28

    在Java中使用Supplier的优势是什么?

  29. 29

    Redis键值存储的Riak优势是什么?

热门标签

归档