Skip to content

Commit 9363035

Browse files
committed
fix: memory leak event listener on stylesheet load (#1707)
1 parent 4db9782 commit 9363035

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

packages/rrweb-snapshot/src/snapshot.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -372,18 +372,22 @@ function onceStylesheetLoaded(
372372

373373
if (styleSheetLoaded) return;
374374

375+
const onStylesheetLoaded = () => {
376+
link.removeEventListener('load', onStylesheetLoaded);
377+
clearTimeout(timer);
378+
fired = true;
379+
listener();
380+
};
381+
375382
const timer = setTimeout(() => {
383+
link.removeEventListener('load', onStylesheetLoaded);
376384
if (!fired) {
377385
listener();
378386
fired = true;
379387
}
380388
}, styleSheetLoadTimeout);
381389

382-
link.addEventListener('load', () => {
383-
clearTimeout(timer);
384-
fired = true;
385-
listener();
386-
});
390+
link.addEventListener('load', onStylesheetLoaded);
387391
}
388392

389393
function serializeNode(

0 commit comments

Comments
 (0)