Skip to content

Commit 4bf261e

Browse files
authored
Merge pull request #514 from chriskrycho/cleanup-perf
Performance: avoid creating callbacks for the destructor
2 parents f733116 + 87aced8 commit 4bf261e

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

addon/modifiers/did-resize.js

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ export default class DidResizeModifier extends Modifier {
3030
});
3131
}
3232

33-
registerDestructor(this, (instance) => instance.unobserve());
33+
registerDestructor(this, unobserve);
3434
}
3535

3636
modify(element, positional /*, named*/) {
37-
this.unobserve();
37+
unobserve(this);
3838

3939
this.element = element;
4040

@@ -54,13 +54,6 @@ export default class DidResizeModifier extends Modifier {
5454
}
5555
}
5656

57-
unobserve() {
58-
if (this.element && DidResizeModifier.observer) {
59-
DidResizeModifier.observer.unobserve(this.element);
60-
this.removeHandler();
61-
}
62-
}
63-
6457
addHandler() {
6558
DidResizeModifier.handlers.set(this.element, this.handler);
6659
}
@@ -69,3 +62,14 @@ export default class DidResizeModifier extends Modifier {
6962
DidResizeModifier.handlers.delete(this.element);
7063
}
7164
}
65+
66+
/**
67+
*
68+
* @param {DidResizeModifier} instance
69+
*/
70+
function unobserve(instance) {
71+
if (instance.element && DidResizeModifier.observer) {
72+
DidResizeModifier.observer.unobserve(instance.element);
73+
instance.removeHandler();
74+
}
75+
}

0 commit comments

Comments
 (0)