Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 供应商';xx和x27;必须从AngularJs中的$get factory方法返回值_Javascript_Angularjs - Fatal编程技术网

Javascript 供应商';xx和x27;必须从AngularJs中的$get factory方法返回值

Javascript 供应商';xx和x27;必须从AngularJs中的$get factory方法返回值,javascript,angularjs,Javascript,Angularjs,我已经编写了一个angularjs工厂,如下所示 module.factory('LogService', function () { function log(msg) { console.log("Rahkaran:" + new Date() + "::" + msg); } return { log: log }; }); 但我一直犯这个错误 提供程序“LogService”必须从$get factory方

我已经编写了一个
angularjs
工厂,如下所示

module.factory('LogService', function () {

    function log(msg) {
        console.log("Rahkaran:" + new Date() + "::" + msg);
    }

    return 
    {
        log: log
    };

});
但我一直犯这个错误

提供程序“LogService”必须从$get factory方法返回一个值

我在谷歌上搜索错误,找不到任何解决办法

巧合的是,我将
return
语句更改为

return{
    log: log
};
错误消失了


{
放在
返回
前面或下一行之间有什么区别吗?

这称为自动分号插入

return语句受自动分号插入(ASI)的影响。return关键字和允许的表达式之间没有行终止符

return
a + b;

// is transformed by ASI into

return; 
a + b;
因此,您必须在return前面插入
{
,而不是在下一行插入

参考:

在您的情况下,将始终返回一个未定义的值。 但在其他情况下,问题也可能是您确实从工厂返回null或未定义的值