Можно ли просмотреть все активные подписки?
У меня есть несколько подписей, настроенных различными автозапусками. Было бы полезно для целей отладки иметь возможность просматривать, какие подписки активны в любой момент времени. Возможно ли это?
Ответы
Ответ 1
У вас нет идеи об "активных" подписках.
Но есть объект Meteor.default_connection._subscriptions
, который хранит информацию обо всех подписках, которые были подписаны до данного времени.
var subs = Meteor.default_connection._subscriptions; //all the subscriptions that have been subscribed.
Object.keys(subs).forEach(function(key) {
console.log(subs[key]); // see them in console.
});
Не то, что вы хотите.
Ответ 2
Как дополнение к вышесказанному, мы можем организовать их немного, чтобы упростить проверку нескольких подписей и т.д.
//all the subscriptions that have been subscribed.
var subs = Meteor.default_connection._subscriptions;
var subSummary = {};
// organize them by name so that you can see multiple occurrences
Object.keys(subs).forEach(function(key) {
var sub = subs[key];
// you could filter out subs by the 'active' property if you need to
if (subSummary[sub.name] && subSummary[sub.name].length>0) {
subSummary[sub.name].push(sub);
} else {
subSummary[sub.name] = [sub];
}
});
console.log(subSummary);
Обратите внимание, что вы можете видеть состояние "ready", а также параметры, используемые в подписке.