2017-01-18 178 views
2

我目前正在載入一個隨機從randomuser.me API獲取的人員列表。 當我關閉互聯網連接時,我只是得到一個net::ERR_INTERNET_DISCONNECTED error。 在「無互聯網」的情況下,我想以某種方式保存http get請求,並在連接再次打開時,自動調用保存的請求。那可能嗎 ? 希望我很清楚。離子2:離線HTTP獲取請求

謝謝

回答

2

您可以使用網絡插件。更多信息here

例如:

1 - 創建一個服務的連通性,這增加app.module.ts提供商,這樣你就可以與其他地方訪問它:

import { Injectable } from '@angular/core'; 
import { Platform } from 'ionic-angular'; 
import { Network } from 'ionic-native'; 

@Injectable() 
export class ConnectivityService { 
onDevice: boolean; 
constructor(
    private platform: Platform 
) { 
    this.onDevice = this.platform.is('cordova'); 
} 

isOnline(): boolean { 
    if (this.onDevice && Network.type !== 'none') { 
     return true; 
    } else { 
     return navigator.onLine; 
    } 
} 
} 

2 - 在你的.ts文件

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 

//service 
import { ConnectivityService } from '../../providers/connectivity.service'; 

@Component({ 
    templateUrl: 'page.html', 
}) 
export class Page { 
constructor(
private nav: NavController, 
private cs: ConnectivityService 
) {} 

onCallAPI() { 
    if (this.cs.isOnline()) { 
    //do somthing 
    } 
} 
} 

3-最後,如果你需要檢查,直到設備在線再次成爲,你需要添加一個連接監聽器。

+0

良好的資源,但你可以包括一個例子,看起來很容易寫一個。 –

+1

我添加一個例子。 –