javascript - 很少有 Angular 服务,仅在常量上有所不同

标签 javascript angularjs

我对 angularjs 还很陌生,我需要执行以下操作: 我有几个部分 View ,每个 View 都包含简单的配置表单,需要将其获取/放入服务器。

每个 View 都有一个 Controller ,每个 Controller 都有一个相应的服务,负责向给定的后端端点执行 GET/PUT 请求。

服务目前仅在端点 URL 上有所不同。

问题是: 您将如何避免以下情况?

var providerConfigService = function ($http) {


    this.fetchConfig = function (endpointUrl, success, failure) {
        $http.get(endpointUrl)
            .success(function (data) {
                success(data)
            })
            .error(function (data, status) {
                failure(status)
            });
    };


    this.updateConfig = function (endpointUrl, config, success, failure) {
        $http.put(endpointUrl, config)
            .success(function (data, status) {
                success()
            })
            .error(function (data, status) {
                failure(status)
            });

    }
};

var facebookConfigService = function (providerConfigService) {
    var facebookEndpoint = "";

    this.fetchConfig = function (success, failure) {
        providerConfigService.fetchConfig(facebookEndpoint, success, failure)
    };

    this.updateConfig = function (config, success, failure) {
        providerConfigService.fetchConfig(facebookEndpoint, config, success, failure)
    };

};

// POTENTIALLY DUPLICATED CODE FOR OTHER VIEWS
// SERVICE REGISTERING

我更像是一个 Java 人,所以我会在 Java 和 Spring 世界中做这样的事情:

提供 endpointUrl 作为构造函数参数,然后创建一个 Factory 类或仅声明预配置的 bean。

我正在 Angular 世界中寻找类似的解决方案。我应该使用 Angular 的工厂/提供商吗?如果是这样,怎么做?这可能很简单,但我对 Angular 的服务/ Controller /工厂/提供者很困惑。

最佳答案

通常在 Angular 世界中,您会尝试使用 ng-resource 。如果您的 API 是 RESTful 且基本的,我会推荐 ng-resource。如果没有,那么您所做的一切都可以,但通常这些获取和放置将仅在提供服务本身内进行。你只是把成功和失败都写干了,但现实是,无论如何,这些都可能会有所不同。

关于javascript - 很少有 Angular 服务,仅在常量上有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29500275/

相关文章:

javascript - 使用 map 函数 div 到数组中

javascript - 错误 : [Header] is not a <Route> component

javascript - 元素的偏移量 - 内联 - 使用angularjs

javascript - 展平数组并保留索引作为其位置值

javascript - 在 Protractor JS 中将函数从一个文件读取到另一个文件

javascript - 关闭模式并滚动到 div

javascript - react-google-maps fitBounds 和 panToBounds 不会缩放 map

javascript - 基于angular js中的当前持续时间绘制Rzslider?

javascript - 表单在 php while 循环中呈现相同的数据

java - Spring AngularJS 获取请求