您好,我正在寻找打字稿最佳实践来处理onInit服务调用之间的依赖关系。 我有在onInit上运行的4个函数,前3个正在填充3个子组件(过滤下垂)。 然后,它们返回具有所选过滤器值的数组。 当我具有选定的过滤器值时,我想运行最后一个函数,该函数使用前3个中的值来构建查询,然后发送数据请求。 然后,该数据将用于填充表。 当前,第四个函数在第三个函数的末尾被调用。 我觉得必须有一种更好的方式来处理异步呼叫,以便希望有人可以向我指出正确的方向。
this.getCatalogueStatuses();
this.getCountries();
this.getAgreementTypes()
// dependent on function above for filtering
this.getClaimTypeAndPrices();
答案 0 :(得分:2)
听起来像您想要forkJoin
吗? (https://rxjs-dev.firebaseapp.com/api/index/function/forkJoin):
import { forkJoin } from 'rxjs';
...
forkJoin(
this.getCatalogueStatuses(),
this.getCountries(),
this.getAgreementTypes(),
)
.subscribe(([catalogueStatuses, countries, agreementTypes]) => {
// use return data for method below
this.getClaimTypeAndPrices();
});
这假设您的方法this.getCatalogueStatuses(), this.getCountries() and this.getAgreementTypes()
返回Observables
。