网络不存在时重新加载 Ionic 2 数据



我只想知道这是否可能以及如何完成。

假设Android用户具有网络连接,并进行更改,然后更新数据库。然后,用户将失去网络连接,但仍会在其设备上进行更改。如果没有连接,他们显然无法将数据发送到数据库。

但是,当他们再次收到连接时,没有连接时进行的更改会自动更新并发送到数据库。我将如何使用Ionic 2框架做这样的事情?请把我指向正确的方向。

谢谢!

是的。

为此,您需要 sqlite 。最好制作SQLite服务。


在第一阶段,最重要的是将数据保存到离线/本地数据库。在这种情况下,这是sqlite。

没有网络连接并且用户将一些操作保存数据保存到SQLite数据库中创建的表。

 finishFunction(){
   if(this._connectivityService.isOnline()){ 
     //Send data directly to external database
      this._api.sendData(this.parameters).subscribe(res => {
    }); 
   } else {
    //Store data in offline SQLite database
    this._database.myOfflineTable(this.parameters);
   }
 }

之后,在App Home Page中检查网络连接何时可用,并调用通过API将本地/离线数据发送到外部数据库的函数。当API返回成功消息时,您可以空离线表。

sendMyOfflineData(){
     this._database.getOfflineTable().then((result) => {
            this.OfflineTableList = <Array<Object>> result;
            if(this.OfflineTable.length != 0){
            for(var i = 0; i < this.OfflineTable.length; i++){
              this._api.sendData(this.OfflineTable[i]).subscribe(res => {
              if(res.status == true){
                 this._database.deleteOfflineTable();
              }
         }); 
            }}
        }, (error) => {
            console.log("ERROR: ", error);
        });
   }

如果您需要更多详细信息,我在这里。

最新更新