Угловой интерфейс не обновляется мгновенно - PullRequest
1 голос
/ 17 апреля 2019

Я использую Angular в качестве внешнего интерфейса и Express в качестве сервера. Я передаю новый объект из внешнего интерфейса (Angular) на сервер (экспресс) через http.

угловой файл:

 this.issuesService.addIssue(newIssue).subscribe(); //after adding that navigating to issues link where it displays all the issues
 this.router.navigate(["/issues"]);

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

Экспресс-файл:

  router.post('/addIssue', (req, res) => {
    ...
   newIssue = req.body...//
   issues.push(newIssue);//that new issue successfully added - no problem here
  });

Как сделать это обновление (отображение списка мгновенно при обновлении Express) динамически?

1 Ответ

3 голосов
/ 17 апреля 2019

Скорее всего, вы перенаправляете пользователя на /issues до завершения HTTP-вызова.

this.issuesService.addIssue(newIssue)
    .subscribe(() => 
       this.router.navigate(["/issues"]);   
    );

Метод addIssue занимает некоторое время (асинхронно), и this.router.navigate(["/issues"]); происходит мгновенно (синхронно).

РЕДАКТИРОВАТЬ : просто чтобы уточнить, такжеthis.router.navigate(["/issues"]); является асинхронным, но происходит быстрее, чем HTTP-вызов.По сути, это обещание, которое вы можете подождать, пока оно будет решено, и что-то еще (не обязательно в вашем коде).

Удачи!

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