Javascript 等待/停止代码执行,直到从服务器获取数据

Javascript 等待/停止代码执行,直到从服务器获取数据,javascript,async-await,angular7,Javascript,Async Await,Angular7,组件1在订阅中获取调用时具有方法A,我需要数组列表来检查一些仅从组件2中的方法Z获取的条件。数据将从DB中获取,因此我需要等待Method-A条件调用,直到arraylist获取 这里,checkArrayList()是检查arraylist是否会获取数据的方法。 此.shareDataService.isLoading标志在方法z调用中为true/false。当从db加载数据时,this.shareDataService.arrayList将被升级 let checkArrayList = a

组件1在订阅中获取调用时具有方法A,我需要数组列表来检查一些仅从组件2中的方法Z获取的条件。数据将从DB中获取,因此我需要等待Method-A条件调用,直到arraylist获取

这里,checkArrayList()是检查arraylist是否会获取数据的方法。 此.shareDataService.isLoading标志在方法z调用中为true/false。当从db加载数据时,this.shareDataService.arrayList将被升级

let checkArrayList = async isLoad => {
            do { 
                isLoad = this.shareDataService.isLoading;// true/false in method-z  
                if (isLoad) {
                    await new Promise(r => setTimeout(r, 500))          
                } else {  
                    console.log(this.shareDataService.arrayList); //  data will get here
                }
            }
            while (isLoad) //when isload false while loop will break.
        }

checkArrayList(this.shareDataService.isLoading);//调用方法A中的函数

为什么在围绕RxJS构建Angular时进行轮询?例如,
this.shareDataService.arrayList$.subscribe((数据)=>{…}))
。我们也可以在这里使用forkJoin()