analytics icon indicating copy to clipboard operation
analytics copied to clipboard

setItem should return the dispatch promise

Open BraunreutherA opened this issue 1 year ago • 0 comments

Hey there 👋

Currently there's no way to know, when a item was set to a storage (except for adding a listener, but this doesn't work for a control flow).

const myPlugin = {
  initialize: ({ instance }) => {
    instance.setItem('foo', 'bar');

    const foo = instance.getItem('foo');
    
    console.log(foo); // => undefined
  }
}

This happens, because internally instance.setItem fires a dispatch, which is basically async. The type of it is actually sync which leads to the getting the item directly afterwards being undefined. instance.setItem here should be changed to return the dispatch promise, so it can get awaited.

BraunreutherA avatar May 23 '24 11:05 BraunreutherA