簡體   English   中英

Provider'xx'必須從AngularJs中的$ get factory方法返回一個值

[英]Provider 'xx' must return a value from $get factory method in AngularJs

我寫了一個angularjs工廠如下

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

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

    return 
    {
        log: log
    };

});

但我一直收到這個錯誤

Provider 'LogService' must return a value from $get factory method

我用谷歌搜索了錯誤,我找不到任何解決方案。

巧合的是我把return語句更改為了

return{
    log: log
};

錯誤消失了!!

{ return前或下一行之間是否有任何區別?

這稱為自動分號插入

return語句受自動分號插入(ASI)的影響。 沒有線路終結器; 返回關鍵字和允許的表達式之間。

return
a + b;

// is transformed by ASI into

return; 
a + b;

因此,您必須在返回前插入{不是在下一行。

參考: https //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/return

在您的情況下,將始終返回未定義的值。 但在其他情況下,問題可能也是您從工廠返回null或未定義的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM