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或未定义的值