2017-01-09 73 views
0

知道是否有給環回模式訪問到被沿着主應用程序創建特定對象的正確道路。傳遞對象爲環回模式

例如: 我們有一個emailService並在模型上的某些事件,我們希望相關數據發送到該服務。

現在我目前的解決辦法是這樣的

server.js

const app = loopback() 
const email = createEmailService() 
app.emailS = email 

myModel.js

myModel.observe('before save', (ctx, next) => { 
    myModel.app.emailS.send('[email protected]', ctx.instance.message) 
} 

希望能孤單更好的辦法不是必須在客戶端設置爲應用對象。由於其他模型通過myModel.app.models.OtherModel訪問,我認爲我的方法沒問題,但可能不是最好的方法。

回答

0

那麼這部作品在大多數情況下細,但你必須要小心,它不與應用中的對象和環回項目的發展,他們可能將它添加更多的特性,所以留意它的其他屬性衝突。

我自己的偏好是居然把它變成一個模塊:

服務器/電子郵件service.js

... 
module.exports = createEmailService(); 

通用/模型/ myModel.js

const emailS = require('../../server/email-service'); 
myModel.observe('before save', (ctx, next) => { 
    emailS.send('[email protected]', ctx.instance.message) 
} 

這樣您不必擔心會污染環回名稱空間。