我在Meteor項目的服務器/服務器目錄中有一個名爲authServices.coffee的文件。它具有以下功能定義,隨後Meteor.methods
電話:爲什麼不在Meteor中調用此服務器方法?
isAuthorized =() ->
# note that at this point there is ever to be but one authorized user
authorized = Assets.getText('authorizedUsers').trim()
this.userId.trim() is authorized
這不工作 - 也就是說,調用Meteor.call 'getKey'
返回undefined
Meteor.methods(
isAuthorized : isAuthorized
getKey :() ->
if isAuthorized()
Assets.getText('Key')
)
,但如果我內聯isAuthorized
上述getKey
內,它返回true
(給出正確的輸入)
我猜這是this
如何表現f或這些對象,但不能完全掌握它。
難道你不需要在發佈函數和方法以外的任何地方使用Meteor.userId而不是this.userId嗎? –
將'this'改爲'authorizedUsers'中的'Meteor.userId'我得到'throw new Error(「Meteor.userId只能在方法調用中調用,在發佈函數中使用this.userId。 // 17' – Ben