没有Angular路由影响的后台进程

时间:2019-01-20 07:02:39

标签: javascript angular web-applications background-process angular-routing

我正在开发Angular(7.2.x版)Web应用程序,因为我有多个组件,并且每个组件都与一条路线相关联。

组件#1:ProcessDataComponent

在此组件中,我正在对服务器进行HTTP调用。此调用将花费大约一分钟的时间,并且将以OctetStream(即ArrayBuffer)的形式返回结果文件作为HTTP响应。

组件#2:FeedbackComponent 将数据发送到服务器的简单表格(反馈)

如果我正在ProcessDataComponent中进行HTTP调用(即,通过Button Click事件触发HTTP调用),则立即导航至“反馈”。我无法获取处理后的结果数据。因为所述组件被破坏并加载组件FeedbackComponent

我需要在ProcessDataComponent中触发HTTP调用,并且这将在后台执行HTTP调用,而与路由无关。请帮助我如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

您可以在ProcessDataComponent(拥有整个应用程序的那个)内部进行通话,而不必在AppComponent内部进行通话。该组件寿命很长,不会在导航中被破坏。侦听按钮单击(触发请求)的方法可能应该通过服务。

这里是快速demo on StackBlitz