Обновление записи хранилища объектов в indexedDB с использованием только ссылок? - PullRequest
1 голос
/ 10 февраля 2020

При обновлении записей в indexedDB, которые содержат массивы / объекты, создается впечатление, что, возможно, на этапе клонирования используются упомянутые данные без необходимости перебора значений / свойств. Является ли это надежным или назначения должны выполняться явно?

Например, в приведенном ниже коде присвоение r.array сохраняет array_from_RAM независимо от того, присвоено ли оно в качестве ссылки или используется forEach. Использует forEach для повторения повторяющейся работы, которую браузер всегда будет выполнять независимо или на которую нельзя полагаться, так что назначение должно выполняться так, как если бы indexedDB не был задействован.

Спасибо.

 req = os.get( key );
 req.onsuccess = function()
  {
   if ( req.result )
    {
      r = req.result;
      r.array = array_from_RAM;
      array_from_RAM.forEach( ( v, i ) => { r.array[i] = v; } );
      os.put( r );
     };
   };     
...