2016-11-15 119 views
0

我想實現一個掛鉤,它用表單{serviceName}:{id}(其中id是典型的MySQL數字標識)的全局唯一標識替換記錄標識。從羽毛掛鉤獲取服務句柄或掛載點

但是我找不到一種方法從鉤子訪問serviceName或服務掛載點。可能嗎?

如果不是,我會堅持在鉤子實例化過程中將服務名稱作爲參數傳遞,但這是手動且容易出錯的。我希望有一個更好的方式來做到這一點:)

回答

1

可以遍歷所有的服務,然後返回路徑,鉤上下文匹配的一個:

app.service('myservice').before({ 
    create(hook) { 
    const service = this; 
    const allServices = hook.app.services; 

    const path = Object.keys(allServices).find(
     currentPath => allServices[currentPath] === service 
    ); 
    } 
}); 
+0

我不知道'this'尖到Feathers鉤子中的服務實例。這是記錄在哪裏?謝謝! –

+1

它是。 https://docs.feathersjs.com/hooks/usage.html中的專業技巧說*在鉤子函數中的上下文是它當前運行的服務。* – Daff