2017-10-20 34 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

相关问题