Угловые проблемы с подпиской - PullRequest
0 голосов
/ 24 сентября 2018

Мне нужно, чтобы Final Count всегда был 1, это хранит счетчик запросов на неудачу.Я также не уверен, почему итоговый счет напечатан до начального счета.Возможно, я не понимаю подписку должным образом.Надеюсь, это имеет смысл.

 public failed: number = 0;

    buttonClickMethod(): void {
        // request code

        Observable.onErrorResumeNext(myrequests).first().subscribe(
            () => {
                // On next code
            },
            () => {
                this.failed++;
                console.log('Initial count' + this.failed)
            },
            () => {
                //On completed code
            }
        });
    console.log('Final count' + this.failed)
    this.failed = 0;

    }

1 Ответ

0 голосов
/ 24 сентября 2018
public failed: number = 0;

buttonClickMethod(): void {
    // request code
    Observable.onErrorResumeNext(myrequests).first().subscribe(
        () => {
            // On next code
        },
        () => {
            this.failed++;
            console.log('Initial count' + this.failed)
        },
        () => {
            //On completed code
        }
    });
console.log('Final count' + this.failed)
this.failed = 0;

}

Ваш оператор console.log находится при нажатии кнопки, который будет выполнен немедленно, в отличие от вашего Observable, который имеет async характер.

Посмотрите, как работают асинхронные вызовы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...