Как сделать, чтобы следующая партия не запускалась, если загрузчик все еще работает в angular - PullRequest
0 голосов
/ 26 марта 2020

Вот код:

 scrollHandler(e: any) {

    if (e === 'bottom') {
      this.loadNextBatch();
    }
  }

  loadNextBatch() {
    this.pageIndex = this.pageIndex + 1;
    this.isLoading = true;
    this.global.getData(`/conditions/latest?start=${this.pageIndex}&length=${this.pageSize}`)
      .pipe(take(1)).subscribe(res => {

        const newBatch = Object.values(res['data'].map((obj: any) => {
          return {
            ...obj,
            spinning: true
          };
        }));

        this.tempThermometer.next(this.tempThermometer.getValue().concat(newBatch));

        this.tempLoading = false;
        this.isLoading = false;

      });
  }

Я хотел бы спросить, есть ли возможность, если загрузчик, все еще работающий, не сможет прокрутить или запустить nextBatch.

Причинить проблема здесь есть. загрузчик все еще работает, но он может прокручивать.

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

, например, /condition/latest?start=1 уже отображается, и когда я прокручиваю вниз, следующий будет start=2, тогда, когда я попытался снова прокрутить вниз, два раз во время работы загрузчика. тогда он станет start=4.

, поэтому я хочу, чтобы во время работы загрузчика он не мог прокрутить вниз или снова опуститься.

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