2012-11-15 21 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); 
});