2012-11-14 2 views
5

내 코드에 Meteor.publish이 있고 다른 함수를 호출하고 다른 함수를 호출하는 등의 작업이 있습니다. 그런 다음 가장 내적인 기능에서 무엇이 사용자이 활성인지 알아야합니다.게시자가 호출하는 함수 내에서 user/userId에 액세스

Meteor.user()은 사용할 수 없습니다. 그것은 말합니다

Meteor.userId는 메소드 호출에서만 호출 될 수 있습니다. 공개 기능에서 this.userId를 사용하십시오.

this.userId은 내부 기능 내에서 액세스 할 수 없습니다.

그 다음에 수행 할 수있는 작업은 무엇입니까?

+0

Meteor.publish처럼 호출 할 수 있습니다 (널 (null), 기능() {자체 =이; 해봐요() {self.userId}}); – crapthings

+0

내부 함수가 외부 함수 외부에 선언되었습니다 – zVictor

+2

메서드에서 this.userId와 똑같은 질문을 할 수 있습니다. 분명히 유성에서는 최적이 아닌 것입니다. – steph643

답변

4

게시 방법의 변수에 this.userId을 할당 한 다음 해당 변수를 전달할 수 없습니까?

Meteor.publish("my_channel", function() { 
    var userId = this.userId; 
    myFunction(userId); 
}); 
+4

전역 변수 인 * userId를 여러 중첩 된 함수 호출의 매개 변수로 전달하는 것은 힘들고 오류가 발생하기 쉽습니다. 그러므로 원래의 질문. – steph643

0

Reflect.apply(Meteor.call, this, ['myFunctionName'])

관련 문제