2012-11-15 4 views
0
amplify.subscribe("WorkTypesReceived", function() { 

    var workTypesList = amplify.store("ExpenseWorkTypesFor" + JobNo_); 
    amplify.unsubscribe("WorkTypesReceived"); 

}); 

getDropdownExpenseWorkTypes(JobNo_); 

getDropdownExpenseWorkTypes은 완료시 "WorkTypesReceived"을 게시하는 함수를 호출합니다. 그러나이 전체 기능을 한 페이지에서 두 번 이상 호출하기 때문에 지수가 폭발합니다 (동일한 주제에 대한 여러 구독). 한 번 게시되면 구독을 제거하고 싶습니다 (구독 기능에 한 번 들어가기도합니다).구독 기능 내에서 구독을 취소하는 방법은 무엇입니까?

라인 amplify.unsubscribe("WorkTypesReceived")이 작동하지 않는 것 같으며 문서에 콜백 함수 인 두 번째 매개 변수가 필요하다고 나와 있습니다. 하지만 콜백 함수 안에있어 진행 방법이 확실하지 않습니다.

답변

3

당신은 당신이 그것에서 탈퇴하는 것을 사용할 수있는 콜백에 이름을 추가하면 ...

amplify.subscribe("WorkTypesReceived", function storeWork() { 
    var workTypesList = amplify.store("ExpenseWorkTypesFor" + JobNo_); 
    amplify.unsubscribe("WorkTypesReceived", storeWork); 
});