Angular 5, используя таймер rxjs, когда событие будет сгенерировано во время выполнения кода? - PullRequest
0 голосов
/ 10 февраля 2019

Возможно, мой вопрос глуп, но я не нашел ответа по этому поводу.

У меня таймер на 3 секунды -

        this.timer = timer(3000, 3000);
        this.timerObservable = this.timer.subscribe(x => {
//do someting
        });

Если я выполняю запросочень длинная функция (например, через 2 секунды после предыдущего таймера, который я нажал на кнопку, выполнить много логики или что-то в этом роде), что произойдет через минуту (3 секунды из предыдущего таймера)?Будет ли длинная функция приостановлена, будет выполнена функция внутри таймера, и тогда длинная функция снова получит управление, или, возможно, будет полностью выполнена длинная функция, а затем таймер (хотя это произойдет более чем через 3 секунды)?

1 Ответ

0 голосов
/ 17 февраля 2019

Я нашел простой способ проверить это:

ngOnInit() {
    this.timer = timer(1000, 1000);
    this.timerSubscription = this.timer.subscribe(x => {
        console.log("inside timer");       
        }
    });
    while (true){
        console.log("in while");
    }
}

Внутренний таймер не вызывается ..

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