当前位置: 首页 > 知识库问答 >
问题:

Angular 9超文本传输协议调用nestjs后端

松飞翮
2023-03-14

我有一个带有nestjs后端rest api(在nodejs中)的角度(9)前端。我在后端调用的endpoint执行一些相当复杂的操作,大约需要2分钟才能响应。在前端,我使用subscribe订阅响应,如下所示:

this.metaService.subscribe(
  result => {
  //Handle result
  },
  error => {
    this.subscription.unsubscribe();
    console.error('Error: ' + error);
  },
  () => {
    this.subscription.unsubscribe();
    console.error('Completed');
  });

问题是,在后端,它开始一次又一次地执行代码。请注意,它不会再次执行http调用(我可以从Developer tools中的“网络”选项卡中看到这一点),它一直处于挂起状态。如果我这样做,它似乎可以工作

.pipe(take(1)).subscribe(

然后它不做循环在后端,但它立即完成订阅(和超文本传输协议在网络选项卡中被取消的状态)我运行这在我的localhost在Windows机器(linux子系统)。节点版本是12.14.1

有人知道是什么导致了这种情况,以及如何解决它吗?

-詹妮

共有1个答案

狄望
2023-03-14

这不是答案:我想我能够弄清楚这一点。我在for循环中有几个静态异步方法,这似乎是导致这种情况的原因。我现在真的不知道为什么,但是当我删除这些方法并将它们转换为非静态异步方法(仍然在循环中)时,我不再遇到这个问题了。我不知道为什么它们一开始是静态的...

 类似资料:
  • 我尝试使用以下方法从Api获取json数据 我将这个物体建模如下 数据如下: 当我尝试使用模型访问时,我收到错误“\u InternalLinkedHashMap”

  • 我试图禁用我的AngularJS应用程序中的缓存,但它无法使用以下代码: 当我使用

  • 我正在使用GWT和Spring controller来管理http流量。有些请求可能需要很长时间,但我希望在超过给定时间时终止请求。 我如何配置超时Spring。我也使用Apache Tomcat 7.0。我试图在tomcat上inrease最大线程,但有一段时间tomcat工作缓慢,因为请求线程不会死。

  • 我想知道你对这个概念的看法/意见。如果有替代方案?这是否可行/有益? 据我所知,对于每个http请求,服务器都会执行一些操作并返回http响应。 现在考虑任何场景,我们希望对服务器上运行的进程有更多的控制。 情景1:http请求发送- 在这里,资源被浪费了。 情况2:http请求发送- 在这里,客户端不知道服务器中运行的进程的状态。客户端必须等待,直到它获得超文本传输协议响应。 我的想法是:在初始

  • 我只是有一个关于服务中http请求的结构和处理响应的问题。我正在使用Angular2。alpha46 Typescript(刚刚开始测试-我喜欢它…Ps…。感谢所有一直致力于它并通过github作出贡献的人) 因此,采取以下措施: 登录表单。组成部分ts 从这个组件中,我导入了我的userService,它将容纳我的超文本传输协议请求,以登录用户。 使用者服务ts 我想做的是能够处理http请求之

  • 我的LogCat: 签名密钥(sw)为https://api.dropbox.com/1/shares/dropbox/a.jpg?oauth_consumer_key=2f2y1dyuqhp58ek 我对http没有太多经验。。 因为httpPost=新的httpPost(sw);工作正常,这是否意味着基本字符串签名正确? 还是我错过了什么?