我将Angular用作前端并表示为服务器。我正在通过http将新对象从前端(Angular)传递到服务器(express)。
角度文件:
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
});
如何动态进行更新(快递更新后立即显示列表)?
答案 0 :(得分:3)
最可能是因为您在HTTP调用完成之前将用户重定向到/issues
。
this.issuesService.addIssue(newIssue)
.subscribe(() =>
this.router.navigate(["/issues"]);
);
addIssue
方法需要花费一些时间(异步),而this.router.navigate(["/issues"]);
将立即发生(同步)。
编辑:仅需说明,this.router.navigate(["/issues"]);
也是异步的,但其发生速度比HTTP调用快。基本上,这是一个您可以等待解决的承诺,所以有些事情(代码中不一定需要)。
祝你好运!