2013-06-20 23 views
15

想知道是否有辦法獲得已註冊的當前Meteor.methods列表。使用Meteor.methods()註冊的流星方法列表?

例如,如果一個POST方法註冊像這樣:

Meteor.methods({ 
    post: function() { 
    //code 
    } 
}); 

是否有訪問這些方法列表的方式嗎?理想情況下,它將通過一種方法,但如果它存儲在一個可訪問的變量中,例如Meteor .__方法,那也可以。

我在瀏覽器中瀏覽了文檔和Meteor全局文件,但沒有發現任何有用的東西。有任何想法嗎?

回答

14

在客戶端,你可以這樣做:

Meteor.connection._methodHandlers 

它給你函數名到函數的字典。

+2

它沒有列出方法。 – avalanche1

+0

@ avalanche1它適合我。也許你的方法實際上沒有獲得註冊或什麼? –

11

在流星的服務器端進一步挖掘之後,看起來這些方法存儲在數組0123¾中,該數組可以在服務器上訪問,但不能在客戶端上訪問。

只有暴露客戶端的方法似乎是註冊一個方法服務器端,然後返回一個鍵列表。

+2

它沒有暴露給客戶端,因爲這可能會帶來潛在的安全漏洞 – Marz