【发布时间】:2020-10-19 09:08:01
【问题描述】:
我想在离开页面导航到任何其他路线时执行发布请求。
我尝试过使用:
this.subscriptionGrade = router.events
.pipe(filter((event) => event instanceof NavigationStart))
.pipe(
concatMap(() => {
return this.submitScore();
})
)
.subscribe((res) => {
this.snackBar.openSnackBar("Score submitted", "");
});
submitScore() {
const score = { score: this.scoreForm.get("score").value };
if (this.scoreForm.get("score").value) {
return this.learningContentService.gradeAssignment(
this.selectedAttempt,
score
);
} else {
return of(null);
}
}
这会执行 http 重新请求,但会在从 http 请求收到响应并且请求被取消之前切换到下一个路由。
【问题讨论】:
标签: angular angular8 angular-routing angular-router