首页 > 解决方案 > 变量未从第一次尝试分配

问题描述

我在为全局变量赋值时遇到问题。当我单击按钮来控制我的变量时,它是空的,当我第二次单击按钮时,我可以看到我的变量值。我不知道为什么它在第一次单击时是空的,而在第二次单击时不是空的。我想使用变量(this.mc)来定义我在 firebase 中的路径。看看我下面的代码。谢谢!

export class LoadsService {

  comp = '';
  dil = '';
  mc = '';
  constructor(private db: AngularFirestore, private afAuth: AngularFireAuth, private auth: AuthService) { 
   }
  

   getUsers() {
    return this.auth.user.pipe(
      take(1),
      map(user => {
        //  user['company'];
        this.comp = user['company'];
        return user['company'];
      })
    )
   }
  
   getMc(){
     return this.getUsers().subscribe(user => {
       this.comp = user;
       console.log('Hello', this.comp)
       return this.comp;
      });
    }
    
    getComp(){
      this.comp = this.dil;
      if(this.dil.length <= 0){
        return this.getUsers().subscribe(user => {
          this.comp = user;
          console.log('Bye', this.comp)
          return this.comp;
         });
      }
      else{
        console.log('Bye1', this.dil)
      }
    }

  async addLoad(load){
   load.creator = auth().currentUser.uid;
    return this.db.collection(`companies/${this.mc}/currentLoads`).add(load).then(ref => {
    })
  }

标签: javascriptangulartypescriptweb

解决方案


推荐阅读