在AngularJS中,如果在使用module.factory()时使用module.service()会有任何副作用吗?

时间:2016-02-28 16:00:57

标签: angularjs

我在现有代码库中看到了一些代码:

angular.module("myApp", [])
    .service("myService", function() {
        return {
            getData: function() { } // etc ...
        };
    });

我认为这个概念是这样的:如果它是module.factory(),你提供一个函数来返回一个对象(它是服务对象),而如果它是module.service(),你提供一个函数,实际上只是一个构造函数,所以稍后,new关键字将与此构造函数一起使用以获取服务对象。

然而,上面的代码实际上是有效的。这显然是因为,如果它被认为是构造函数(即使它不是),当new关键字与它一起使用时,它返回一个对象,所以这个对象返回使用new关键字实例化的对象。但事实是,它仍然有效。

即使我们应该使用module.factory(),使用module.service()实际上也可行。有副作用吗?

我认为最好将其更改回module.factory(),但与此同时,我担心如果现在一切正常,将其更改回module.factory()可能会引入新的错误。

0 个答案:

没有答案