tidy up condition manager use in telemetry provider

This commit is contained in:
David Tsay 2020-03-09 16:15:53 -07:00
parent 7a4b967a01
commit 49ff0c79db

View File

@ -18,19 +18,24 @@ export default class ConditionSetTelemetryProvider {
} }
request(domainObject, options) { request(domainObject, options) {
const conditionManager = new ConditionManager(domainObject, this.openmct); let conditionManager = new ConditionManager(domainObject, this.openmct);
return conditionManager.requestLADConditionSetOutput() return conditionManager.requestLADConditionSetOutput()
.then(latestOutput => { return latestOutput ? [latestOutput] : []; }); .then(latestOutput => {
conditionManager.destroy();
conditionManager = undefined;
return latestOutput ? [latestOutput] : [];
});
} }
subscribe(domainObject, callback) { subscribe(domainObject, callback) {
const conditionManager = new ConditionManager(domainObject, this.openmct); let conditionManager = new ConditionManager(domainObject, this.openmct);
conditionManager.on('conditionSetResultUpdated', callback); conditionManager.on('conditionSetResultUpdated', callback);
return function unsubscribe() { return () => { // unsubscribe function
conditionManager.off('conditionSetResultUpdated'); conditionManager.off('conditionSetResultUpdated');
conditionManager.destroy(); conditionManager.destroy();
} conditionManager = undefined;
};
} }
} }