工厂称自己的职能

时间:2016-10-06 18:33:38

标签: javascript angularjs

我最近遇到的工厂模糊地类似于下面所示的工厂:

.factory("MyFactory", ['$interval', function($interval) {
    var factoryObj;

    factoryObj.setCheckupTime = function(intervalMs) {
        var checkupInterval = $interval(function() {
            // do checkup logic...
        }, intervalMs);
    };

    factoryObj.setCheckupTime(60000);

    return factoryObj;

}]);

问题是返回前的行:

factoryObj.setCheckupTime(60000);

这一行感觉不对,因为我们正在让一个单例自动执行一个动作而不是一些依赖的代码单元。

我希望得到别人对此事的意见;这是否正式违背Angular的任何最佳实践,或者是否应该使用单身人士的任何规则?

我也不确定如何描述这个问题,因为我从来没有遇到过这个问题;这里有什么另外的术语/术语吗?

1 个答案:

答案 0 :(得分:1)

那么,当一个工厂通过角度的核心构建而不告诉任何人在这个过程中已经开始出现某些东西时,宣布一个自己启动它自己的工具是一个坏主意吗?

是的,那真是太糟糕了!当事情自动完成时,特别是在作为内部行为的角度工厂上,很难维护和跟踪问题。

我建议您从以后可以跟踪和理解的地方手动启动它。