2016-03-16 48 views
0

Per angular_devise docs,https://github.com/cloudspace/angular_devise,使用Auth._currentUser是皺眉。爲什麼在angular_devise中不建議使用Auth._currentUser?

Auth._currentUser

Auth._currentUser將null或所述currentUser的對象 表示。不建議直接訪問 Auth._currentUser,而是使用Auth.currentUser()。

爲什麼這是一個壞主意?

我目前正在使用它在一個應用程序,因爲它使我能夠更簡潔,添加功能與更少的代碼行。

回答

1

未劃分的屬性和方法被認爲是私有的,這意味着這部分的API可以在沒有通知的情況下進行更改,並且它們的使用可能會導致無法預料的情況。

由於獲取當前用戶是異步操作,因此應該使用基於承諾的Auth.currentUser()

最後但並非最不重要的一點是,在規格中可以調用Auth.currentUser,這可以提高可測性。

+0

你能否詳細說明你的意思'改變,恕不另行通知';被別人改變了嗎? –

+1

@pandaman通過API創建者(angular-devise)。它可以被刪除,重命名或以他們認爲有必要的任何方式進行更改。不要在生產代碼中使用下劃線的東西,除非您徹底對其進行單元測試。 – estus

相關問題