У меня есть приложение, в котором мне нужно поймать собак в автономном режиме. Я использовал formdata , потому что я отправляю изображения вместе с оставшимися данными. Я использую приведенный ниже код для хранения HTTP-запроса.
storeRequest(url, type, data) {
this.sharedService.presentToast('Your data is stored locally because you
seem to be offline.');
let action: StoredRequest = {
url: url,
type: type,
data: data,
time: new Date().getTime(),
id: Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 5)
};
return this.storage.get(STORAGE_REQ_KEY).then(storedOperations => {
let storedObj = JSON.parse(storedOperations);
if (storedObj) {
storedObj.push(action);
} else {
storedObj = [action];
}
return this.storage.set(STORAGE_REQ_KEY, JSON.stringify(storedObj));
});
}
Здесь я храню все запросы. Когда я пытаюсь получить данные, я получаю пустой объект. Вот почему я не могу синхронизировать данные с сервером. Я использовал приведенный ниже код для синхронизации запросов.
checkForEvents(): Observable<any> {
return from(this.storage.get(STORAGE_REQ_KEY)).pipe(
switchMap((storedOperations: any) => {
let storedObj = JSON.parse(storedOperations);
console.log(storedObj);
if (storedObj && storedObj.length > 0) {
console.log(storedObj);
return this.sendRequests(storedObj).pipe(
finalize(() => {
this.sharedService.presentToast('Local data succesfully synced to
API!');
this.storage.remove(STORAGE_REQ_KEY);
})
);
} else {
console.log('no local events to sync');
return of(false);
}
})
)
}
** Правка - ** Теперь мой вопрос: что является хорошей практикой для хранения данных ?? Где мы можем хранить данные формы ??