2017-10-20 36 views
0

從處理服務器的數據時,我感到非常困惑。 我有一個通過HTTP從服務器獲取數據的提供者。我想在加載頁面之前加載數據。但數據需要一定時間才能反映在頁面上。 請人指導我處理的數據從服務器如何在離子3中動態地處理來自服務器的數據和綁定值?

這裏是我的代碼

workpage.ts

loadWork(){ 
    this.work.loadwrk().then(hw=>{ 
     this.work = work ; 
    }) 
    ionViewWillEnter(){ 
    this.loadWork(); 
    } 

workprovider.ts

loadwrk():Promise<any>{ 
    return new Promise(resolve =>{ 
     this.storage.get('works').then(ow=>{ 
     this.http.get(---url----).subscribe((res)=>{ 
     let resData = res.json(); 
     if(JSON.stringify(ow) !=JSON.stringify(resData)){ 
     console.log('i am new work');   
      resolve(resData);    
     } 
     else{ 
     resolve(ow); 
     console.log('i am old work'); 
     } 

     })  
    }) 
    }) 
    } 

回答

0

嘗試這樣的:

loadwrk(): Promise<any> { 
    return new Promise<any>((resolve, reject) => { 
     this.storage.get('works').then(ow => { 
      this.http.get(---url----).subscribe((res) => { 
       let resonseData = res.json(); 
       if (JSON.stringify(ow) != JSON.stringify(resonseData)) { 
        console.log('i am new work'); 
        resolve(resonseData); 
       } 
       else { 
        resolve(resonseData); 
        console.log('i am old work'); 
       } 

      }) 
     }) 
    }) 
} 
+0

這段代碼有什麼不同? – Zaza

+0

將轉換的響應轉換爲json格式,如let resonseData = res.json(); – Chandru

+0

對不起,我錯過了代碼,但仍然沒有清楚我的問題 – Zaza

相關問題