Попробуйте этот логичный способ

могу заставить мой код работать последовательно? Например,

Если у меня есть цикл 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
}

Есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос