我正在构建一个 Angular 应用程序。在我的组件的构造函数中,我从服务器发起了对几个元素的请求,这些元素自然是异步发生的。这些请求作为rxjs/Behavior
我订阅的对象返回给我。
我需要做的是在最后一个返回后立即继续处理。但我需要确保它们按照提交的顺序进行处理,而不一定按照返回的顺序进行。
我可以创建一个 janky hack 来检测最后一个返回的时间:
let counter = 0;
let output = new Array( input.length );
for ( let i = 0 ; i < input.length ; i++ ) {
counter++;
fetch( input[i] ).subscribe(
result => {
output[i] = result;
counter--;
if ( counter === 0 ) {
// what to do at the end
}
}
);
}
这有效。但它很难看,不容易理解,也不是我所说的生产就绪代码。
一旦完成了一系列主题,Angular 做某事的方式是什么?