我有什麼應該是一個相對簡單的問題。我設置了一個會話,然後使用存儲在會話中的字符串訂閱集合。但是當會話發生變化時,我需要清除訂閱數據並重新開始。流星訂閱不停止
我的代碼如下:
let subscriptionReady;
let filteredResults = [];
let rawResults = [];
let county = Session.get('county');
let type = Session.get('type');
這是大多隻是準備工作,以創建一些空的對象後填充。這一切都設置在一個點擊事件。之後,我們設置這些佔位符對象,我們去和那些會議訂閱:
if (county && !type) {
return function() {
if (subscriptionReady) {
subscriptionReady.stop();
}
filteredResults = [];
rawResults = [];
subscriptionReady = Meteor.subscribe('resourcesearch', county, {
onReady:() => {
rawResults = resourceCollection.find({}, { sort: {score: -1} }).fetch();
rawResults.forEach((result) => {
if (result.score) {
filteredResults.push(result);
}
});
}
});
}
在第三行我跑,看看檢查是否存在subscriptionReady
,那麼它將有可用的stop
方法。然後我運行它。但是,它並不能阻止任何事情。
我缺少什麼?
爲什麼你會經歷所有這些麻煩,而不是用一種方法獲取正確的數據? – tomsp
這實際上是一個很棒的建議。可能是因爲我很長一段時間沒有在流星工作過。 – thatgibbyguy
其實,你是這個評論的真正的mvp。我的回答是正確的,但你的建議更好。謝謝! – thatgibbyguy