为什么for循环在离子ionViewWillEnter方法中不起作用

时间:2018-08-17 11:18:07

标签: firebase ionic-framework

我在ionViewWillEnter()方法中调用方法“ allComments()”,但并不是每次进入视图时都不会绑定名称和配置文件。找不到任何有效的原因。代码没有错误

allComments() {
this.comments=[];
let arr=[];
this.com=[];
console.log(this.challengeId)
this.https.get('https://dareost.firebaseio.com/comments/'
+this.challengeId+'.json').map(res=>res.json()).subscribe(x=>{
 this.com=x

for(let key in this.com) {
   this.comments.push(this.com[key])
 }
this.length = this.comments.length;

for(let i=0;i<this.comments.length;i++){
 let a=this.comments[i]
 console.log(a)
for(let key in a){

arr.push(a[key])
this.arr.push(a[key])

}


}


 for(let i=0;i<this.arr.length;i++){
   for(let j=0;j<this.users.length;j++){
    console.log(this.arr[i].commentedBy)

    if(this.arr[i].commentedBy == this.users[j].uid){
      console.log(this.users[j].name1)
      this.arr[i].name=this.users[j].name1
       console.log(this.arr[i])
      this.arr[i].profile=this.users[j].profileUrl
      }
    }
    }

有时它不会在控制台上打印this.arr [i] .name,有时会打印出来。

1 个答案:

答案 0 :(得分:0)

ionViewWillEnter()获得的时间更少,并且在此期间繁重的循环和繁重的进程无法获得进程。这完全取决于设备的RAM。处理速度快的设备不会加载大量数据,而处理速度慢的设备则可以处理大量数据。