Как автоматически обновить контент в угловых? - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь обновить контент на основе угловых интервалов приложения.Работает нормально.

Но у меня здесь другой сценарий.

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

Пример: если user1 использует приложение (в своем браузере), а другой user2 (в своем браузере) также использует то же приложение.Существует некоторый контент, который является общим для всех пользователей, и есть возможность изменить контент с помощью запроса.Если user1 изменил некоторый контент (через внутренний запрос) в приложении и автоматически должен обновить общее содержимое приложений user2.

Я попытался понять художественное из dev.to, но я действительно не понял, какэто работает для реальных приложений.Пожалуйста, найдите ссылку ниже.

https://dev.to/eyassh/data-and-page-content-refresh-patterns-in-angular-434i

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

Приветствуются ответы, из которых включается серверная часть реального времени, но я смотрю на решение без серверной части реального времени и не вызываю apis с интервалами.

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 27 сентября 2019

Есть один способ сделать это.Но это не рекомендуется, хотя

пример кода

numberSubscription: Subscription;

getChangedData(){
const data = Observable.interval(10000).startWith(0); <= this is the time interval in ms at which you want check for change of data in database.
    this.numberSubscription = data.subscribe((number: number) => {
        this.API.getChangedData().subscribe(result =>{
                    console.log('new Result',result)
                });
    });
  }

с этим используйте ngOnDestroy, чтобы не звонить, когда вы его не используете

ngOnDestroy(){
if(this.numberSubscription){
this.numberSubscription.unsubscribe()
}
}

Надеюсь, это поможет!

0 голосов
/ 27 сентября 2019

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

Решение - это Signal-R

Переходите по этой ссылке, вы поймете, как работает сигнал R.

https://www.c -sharpcorner.com / UploadFile / 82b980 / введение к сигналу-г /

0 голосов
/ 27 сентября 2019

Вы должны либо регулярно опрашивать сервер, либо оставлять подключение к веб-сокету открытым для сервера для отправки изменений.Как это сделать, зависит от вашего сервера API.

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