Обнаружить изменения в работнике и уведомить localStorage - PullRequest
0 голосов
/ 08 апреля 2020

так что до сих пор я установил localStorage с 2 элементами:


  • массив элементов класса [localStorage.setItem ('products', JSON .stringify (products)) ; ]
  • переменная lastId, которую я использую, чтобы увидеть, сколько элементов у меня есть в localStorage [localStorage.setItem ('lastId', JSON .stringify (lastId + 1)); ]

Значения должны быть добавлены в таблицу.

Проблема заключается в том, что я должен теперь работать с API Web Worker, чтобы прослушивать каждую секунду, если localStorage изменился. Когда рабочая функция обнаруживает изменение, она уведомляет скрипт, в который я добавляю элементы (я имею в виду продукты. js), и добавляет новую строку таблицы с новыми значениями. (Должно работать, если я переключаю вкладку с помощью alt + tab).

Я подумал, что должен посмотреть, изменился ли мой localStorage с тех пор, как в прошлый раз я проверял через lastId, было легче наблюдать. (длина всегда 2 - массив и lastId)

worker. js

setInterval(function(){
    var modalValue = localStorage.getItem( 'lastId' );

    if( modalValue ){
        ................ ??
        console.log(modalValue);
    }
}, 1000 );

products. js


firstFunction(){
...
lastId check etc..
...
localStorage.setItem('products', JSON.stringify(products));
localStorage.setItem('lastId', JSON.stringify(lastId+1));
console.log(localStorage);

---
Here should come the part with integration in table for the current values, and I don't know if I should do it with ajax but I think so? - (1)
}

secondFunction(){
var w = new Worker('worker.js');
...?
}

, если localStorage изменился - я добавил новый продукт - вот где он должен принять меры и добавить новую строку в таблицу со значениями, но часть из первой функции (1) имеет смысл в этом случае?

PS: мне это нужно сделать это с чистыми javascript, нет jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...