взяв идею из этой статьи на хабре -
https://habr.com/ru/post/160477/
я сделал такой обьект и вот что получилось:
две основные функции:
отправить_данные_на_сервер( функция_обрабатывающая_ответ )
получить_данные_от_сервера( функция_обрабатывающая_ответ )
обе функции возвращают ответ сервера в функция_обрабатывающая_ответ
если не получилось отправить данные на сервер то они сохраняются в очередь заданий и отправляются позднее автоматически при document.ononline или при перезагрузке приложения
полученные от сервера данные сохраняются в локальном хранилище
при оффлайне производится попытка получить ранее полученные и сохраненные в хранилище данные
- это краткое описание API этого объекта