docs: function redata(params, onUpdate) {
  // console.log('redata()', params);
          // If should not reload the data.
          if (!shouldReload(params)) {
  console.log('will not reload');
              // Inform any subscriber.
              onUpdate && onUpdate(ctx.lastData);
  
              // Resolve with last data.
              return Promise.resolve(ctx.lastData);
          }
  console.log('will reload');
          // Data not valid, will load new data and subscribe to its updates.
          // Reset lastData, since it is no longer valid.
          ctx.lastData = { ...defaultInitialData };
  // debugger;
          // Update any subscriber about new data.
          onUpdate && onUpdate(ctx.lastData);
  
          // Store promise reference in order to check which is the last one if multiple resolve.
          ctx.promise = load(ctx, loader, params, onUpdate);
  // console.log('storing ctx promise', ctx.promise);
  ctx.promise.loader = loader;
          return ctx.promise;
      }