Попробуйте этот логичный способ
могу заставить мой код работать последовательно? Например,
Если у меня есть цикл for, который получает некоторые данные из службы, я хочуn+1
итерация запускается только послеnth
итерация завершена.
Я хочу, чтобы код после цикла выполнялся только после того, как цикл for завершил все взаимодействия.
Пример кода:
someMethod() {
for ( var i = 0; i < someLength; i++) {
// get some data
this.dataService.get(i).subscribe(data => {
// do something with the data
});
}
//
console.log ('print me only after all iterations');
// ....
// some more lines of code
}
Вот еще один пример (Plunker ):
someMethod() {
for ( var i = 0; i < 5; i++) {
setTimeout(()=> {
console.log('This is iteration' + i);
},500);
}
// I want to execute this line of code only after the
// for loop has completed all iterations.
console.log ('print me only after all iterations');
// ....
// some more lines of code
}
Есть идеи?