Почему событие Svelte onDestroy не выполняет URL.revokeObjectURL()?

Я загружал модальные с помощью библиотеки svelte-simple-modal и хочу очистить переменную, используемую для загрузки изображения, которое хранится в памяти, ранее полученное из бэкэнда через JSON.

Итак, у меня есть эти важные вещи в теге Modal.svelte (компонент, который загружается с модальным окном):

      arrayBufferCover = base64ToArrayBuffer(response[0].details[0].cover);
blob = new Blob([arrayBufferCover], {type: "image/jpeg"});
blobCoverURL = URL.createObjectURL(blob);
onDestroy(() => URL.revokeObjectURL(blobCoverURL));

И это то, что у меня есть в разделе HTML Modal.svelte:

      <img alt="cover" src={blobCoverURL} />

Событие onDestroy происходит после закрытия модального окна, я полностью уверен, что это так, но когда я проверяю консоль, у меня все еще есть несколько объектов, перечисленных в разделе источников (каждый раз, когда я открываю модальное окно, создается один объект). В отличие от этого, список объектов, которые я получаю из chrome://blob-internals/, периодически уменьшается, что может означать, что очистка выполнена правильно, просто источники в консоли не обновляются, но я действительно не уверен, особенно потому, что идентификаторы, которые я вижу при сравнении этих двух отчетов, разные?

0 ответов

Другие вопросы по тегам