首页 > 解决方案 > 下一行应该只在上面的行完全执行时才执行 请记住在 html 中调用了该函数

问题描述

我的.component.html

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

我的.component.ts

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

我要那个:

当 self.getfun(); 这个函数被完全执行然后只执行 self.isRefresh = false; //第二个TYM

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

我不希望在 getfun() 中进行更改,因为我正在处理 angular 它是异步的

标签: javascriptangulartypescriptcallback

解决方案


如果您使用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
    }});
  }

推荐阅读