diff --git a/public/app/features/annotations/annotations_srv.ts b/public/app/features/annotations/annotations_srv.ts index 4fe6e10b2cf..1f580319188 100644 --- a/public/app/features/annotations/annotations_srv.ts +++ b/public/app/features/annotations/annotations_srv.ts @@ -21,12 +21,16 @@ export class AnnotationsSrv { constructor(private $rootScope, private $q, private datasourceSrv, private backendSrv, private timeSrv) {} init(dashboard: DashboardModel) { + // always clearPromiseCaches when loading new dashboard + this.clearPromiseCaches(); // clear promises on refresh events - dashboard.on('refresh', () => { - this.globalAnnotationsPromise = null; - this.alertStatesPromise = null; - this.datasourcePromises = null; - }); + dashboard.on('refresh', this.clearPromiseCaches.bind(this)); + } + + clearPromiseCaches() { + this.globalAnnotationsPromise = null; + this.alertStatesPromise = null; + this.datasourcePromises = null; } getAnnotations(options) {