Отправить запрос, когда пользователь онлайн, в противном случае хранить в локальном хранилище - PullRequest
0 голосов
/ 27 марта 2019

При нажатии кнопки «Отправить» я хочу отправить запрос, когда пользователь онлайн. если пользователь не в сети, я хотел бы сохранить отправленные данные в локальном хранилище. К сожалению, я получаю 500 ошибок при нажатии кнопки отправки после выключения моего Wi-Fi. Работает, когда я выхожу из сети через браузер

onSubmit() {  
 let postData = [];
for (var groupId in this.deltasByGroupId) {
  if (!this.deltasByGroupId.hasOwnProperty(groupId)) { continue }

  for (var k in this.deltasByGroupId[groupId]) {
    if (!this.deltasByGroupId[groupId].hasOwnProperty(k)) { continue }

    let secs = this.deltasByGroupId[groupId][k];

    var item1 = secs["items"]
    for (var j in item1) {

      var item2 = item1[j]
      for (var l in item2) {

        var listItem = item2["items"]
        for (var li in listItem) {
          this.model = new MeasurementChange(listItem[li].id, listItem[li].percent_complete);
          postData.push(this.model);
        }
      }
    }
  }
}
if(navigator.onLine){
  this.pEntryService.postEntries(postData).subscribe(res => {
        alert("Data submitted successfully")
      })

} else{

this.storage.set('cashedData', postData).then(res => {
alert("Data successsfully stored locally")
})
}
}
...