【问题标题】:How to keep AngularJS factories DRY如何保持 AngularJS 工厂干燥
【发布时间】:2015-01-29 13:06:07
【问题描述】:

在我的 AngularJS 应用程序中,我有很多不同的工厂来发出不同的 REST 请求。

查看它们,我意识到它们都使用了很多类似的代码。这对 DRYness 来说是很糟糕的,也使这变得凌乱和更长的时间是必要的。

例如,它们都对caches 进行相同的检查:

        // Cache stuff
        var cacheName = 'projects.rsrc.getProjectUsersService';
        var cache = cacheAppFactory.get(cacheName);
        if(clearCache) {
            cacheAppFactory.clear(cacheName);
        }

我想简单地将这段代码放在一个函数中,该函数接受cacheName 并从每个工厂调用它。

有没有办法从工厂内部引用一些“全局”代码或函数?

【问题讨论】:

标签: angularjs dry angularjs-factory


【解决方案1】:

您可以扩展缓存工厂的功能,以注册所有其他使用缓存工厂的缓存功能的工厂。

然后只需在缓存工厂中创建一个方法,该方法将返回所有已注册工厂的缓存。

这可能是你能得到的最干燥的东西,类似的原则可以应用于你认为重复太多的所有事情,而不仅仅是缓存的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多