Прочитав топи управления памятью c на MDN, я так и не понял многого. Мои вопросы:
Какие делать и не , чтобы избежать утечек памяти в javascript.
В моей работе над внешним интерфейсом (SPA) я думал, что будет БЕЗОПАСНО хранить данные сеанса пользователя (конфиденциальные / нечувствительные) в конструкторе карты. Данные будут существовать на протяжении всего жизненного цикла приложения, пока вкладка браузера не будет закрыта. Ссылка на Q2
class example {
constructor() {
this.cache = new Map();
this.loc = window.location.href;
}
async getdata() {
let data;
if (this.cache.has(this.loc)) {
data = this.cache.get(this.loc);
} else {
let res = fetch(this.loc);
if (res.ok) {
data = res.json();
this.cache.set(this.loc, data);
}
}
// use data here e.g
`<span>${data.username}</span>`
}
}
Итак, в моей структуре кода, пока пользователь перемещается по сайту, используя метод маршрутизации js, новые данные извлекаются при новом посещении страницы и сохраняются в кеш для последующего посещения, чтобы пользователь переходил по большему количеству ссылок и сохранял больше данных. Наконец, каковы подводные камни безопасности и проблемы с производительностью во втором квартале, когда объем кеш-памяти может увеличиться.