fnHelperCallback = (memo, func, helpername) => {
    if (memo[helpername]) {
      throw new Error(
        `Helper name: "${helpername}" for endpoint "${name}" has been already reserved`
      );
    }
    const { sync, call } = func instanceof Function ? { call: func } : func;
    memo[helpername] = (...args) => (dispatch, getState) => {
      const index = args.length - 1;
      const callbackFn = args[index] instanceof Function ? args[index] : none;
      const helpersResult = fastApply(
        call,
        { getState, dispatch, actions: meta.actions },
        args
      );
      const result = new Promise((resolve, reject) => {
        const callback = (err, data) => {
          err ? reject(err) : resolve(data);
          callbackFn(err, data);
        };
        // If helper alias using async functionality
        if (helpersResult instanceof Function) {
          helpersResult((error, newArgs = []) => {
            if (error) {
              callback(error);
            } else {
              fastApply(
                sync ? fn.sync : fn,
                null,
                newArgs.concat(callback)
              )(dispatch, getState);
            }
          });
        } else {
          // if helper alias is synchronous
          const [pathvars, params] = helpersResult;
          fastApply(sync ? fn.sync : fn, null, [pathvars, params, callback])(
            dispatch,
            getState
          );
        }
      });
      result.catch(none);
      return result;
    };
    return memo;
  }
Sync store with server. In server mode works as usual method.
If data have already synced, data would not fetch after call this method.
@param  {Object} pathvars    path vars for url
@param  {Object} params      fetch params
@param  {Function} callback) callback execute after end request