下一行仅应在上一行完全执行时执行,请记住该函数是在html中调用的

问题描述 投票:0回答:1

my.component.html

    <button (click)="refresh()">Refresh</button>

my.component.ts

    refresh() {
        let self = this;
        self.isRefresh = true; //1 ST TYM
        self.getfun();
        self.isRefresh = false; //2ND TYM
    }

我想要:

当self.getfun();此功能完全执行,然后仅执行self.isRefresh = false; // 2ND TYM

请告诉我最好的专业方法!

我不希望在getfun()中进行更改当我在角上工作时,它是异步的

javascript angular typescript callback
1个回答
0
投票

如果使用Observables,请检查以下代码段

getFun(){
    return new Observable((observer)=> {
      //getFun method code goes here 
      observer.complete()
    })
  }

  refresh() {
    let self = this;
    self.isRefresh = true; //1 ST TYM
    this.getFun().subscribe({ complete: () => {
       self.isRefresh = false; //2ND TYM
    }});
  }
© www.soinside.com 2019 - 2024. All rights reserved.