2
我使用的彼得·希金斯pubsub library,我遇到了一個有趣的問題:從發佈創造內部本身(彼得·希金斯發佈訂閱)退訂
如果一個特定的發佈事件被用來從自身退訂我不止一次得到第33行pubsub TypeError: this.apply is not a function
錯誤。 發生這種情況的原因是緩存[topic]數組在第一個要處理的訂閱上更改其長度,因此,當pubsub嘗試處理第二個訂閱時,它無法找到正確的函數。
這裏是複製所需要的代碼(你需要發佈訂閱和jQuery過於當然)
var handle1 = $.subscribe('pubsub',function(){
$.unsubscribe(handle1);
});
var handle2 = $.subscribe('pubsub',function(){
$.unsubscribe(handle2);
});
$.publish('pubsub');
沒有任何人有一個解決方案或替代方法的想法?
發現此拉取請求至少提到問題。還沒有測試:https://github.com/phiggins42/bloody-jquery-plugins/pull/2 – Elad
它可以防止錯誤,但仍然無法呼叫所有訂閱。 – Elad