Представление nativescript-background-http отсоединяется - PullRequest
0 голосов
/ 13 апреля 2020

я создаю приложение с помощью naticescript и angular. Я реализовал индикатор прогресса с сообщениями. Во время тестирования компонентов angular все работает нормально, однако, когда я начинаю использовать реальное представление индикатора прогресса nativescript-background-http, кажется, что оно отключается, потому что перестает обновляться до тех пор, пока я не вызову DetectChanges в представлении или не отправлю сообщения из функции загрузки с помощью ngZone.run. Это все было бы понятно, но позже в последовательности я отправляю другие сообщения (rx js) к тому же индикатору прогресса из обычного компонента, и я вижу, что они приходят в консоль, но отображаемое значение не обновляется.

Почему индикатор прогресса , который живет в отдельном компоненте, отсоединяется?

1 Ответ

0 голосов
/ 13 апреля 2020

Мне удалось решить эту проблему. Я заканчивал наблюдение за пределами Angular Зоны.

task.on('progress', (e) => {
                if (e.currentBytes) {
                    // console.log('progress ->', e.currentBytes);
                    this.ngZone.run(() => {
                        this.componentService.loadingIndicator.showProgress({ maxValue: e.totalBytes, value: e.currentBytes });
                    });
                }
            });
            task.on('error', (e) => {
                this.ngZone.run(() => {
                    observer.error(e.error);
                    observer.complete();
                });
            });
            task.on('complete', (e: any) => {
                this.ngZone.run(() => {
                    observer.next(JSON.parse(e.response.getBodyAsString()));
                    observer.complete();
                });
                console.log('complete upload');
            });
...