【问题标题】:Background process without influence of Routing in Angular不受Angular路由影响的后台进程
【发布时间】:2019-01-20 07:02:38
【问题描述】:

我正在开发一个 Angular(7.2.x 版)Web 应用程序,其中我有多个组件,每个组件都与一个路由相关联。

组件 #1:ProcessDataComponent

在这个组件中,我正在对服务器进行 HTTP 调用。此调用大约需要一分钟才能完成,它将以OctetStream(即ArrayBuffer)的形式返回结果文件作为 HTTP 响应。

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

如果我在 ProcessDataComponent 中进行 HTTP 调用(即按钮单击事件以触发 HTTP 调用),我会立即导航到反馈。我无法获取处理后的结果数据。因为上述组件被销毁并加载组件FeedbackComponent

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

【问题讨论】:

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


    【解决方案1】:

    您可以在AppComponent(包含整个应用程序的那个)内部进行调用,而不是在ProcessDataComponent 内部进行调用。这个组件是长期存在的,它不会在导航时被破坏。监听按钮点击(触发请求)的方式可能应该是通过服务。

    这是一个快速的demo on StackBlitz

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-05
      • 1970-01-01
      • 2019-01-20
      • 2021-05-24
      • 1970-01-01
      • 2015-07-01
      • 2017-09-22
      • 2019-11-17
      相关资源
      最近更新 更多