Javascript 延迟信号器长轮询请求

Javascript 延迟信号器长轮询请求,javascript,c#,angular,websocket,signalr,Javascript,C#,Angular,Websocket,Signalr,我使用Angular和signalR库从.NETCore后端流式传输数据 有两种流媒体类型,我尝试了其中的两种: web套接字 长轮询 流式处理工作非常完美,后端向我发送大量数据,我将这些数据放入队列并在前端处理。问题是,一段时间后,队列已满,我需要转义(抛出)后端发送给我的数据。在那个时刻,我想通知后端,我很忙,它可以得到一点休息(我不希望后端花费资源来发送我无法处理的数据)。如果我处理了流媒体,然后重新开始,它太慢了,所以我需要更快的东西 我注意到,当进行长轮询时,只有在前端不忙时,前端才会

我使用Angular和signalR库从.NETCore后端流式传输数据

有两种流媒体类型,我尝试了其中的两种:

  • web套接字
  • 长轮询
  • 流式处理工作非常完美,后端向我发送大量数据,我将这些数据放入队列并在前端处理。问题是,一段时间后,队列已满,我需要转义(抛出)后端发送给我的数据。在那个时刻,我想通知后端,我很忙,它可以得到一点休息(我不希望后端花费资源来发送我无法处理的数据)。如果我处理了流媒体,然后重新开始,它太慢了,所以我需要更快的东西

    我注意到,当进行长轮询时,只有在前端不忙时,前端才会向后端发送请求,但我不知道如何说前端忙,而不是postopone请求

    这是我在前端的集线器连接和流媒体方法:

     this.hubConnection = new HubConnectionBuilder()
          .withUrl(this.href + '/api/hub/stremingMethod', HttpTransportType.LongPolling)
          .withAutomaticReconnect()
          .build();
    
    private startStreaming(streamingId: number): signalR.ISubscription<DataModel> {
        return this.hubConnection.stream<DataModel>('StremingMethod', streamingId).subscribe({
          next: streamingData=> {
            this.addToQueue(streamingData);
          },
          complete: () => {
            console.log('complete');
          },
          error: error => {
            console.log('complete');
    
          }
        });
      }
    
    this.hubConnection=新的HubConnectionBuilder()
    .withUrl(this.href+'/api/hub/stremingMethod',HttpTransportType.LongPolling)
    .withAutomaticReconnect()
    .build();
    私有startStreaming(streamingId:number):signalR.ISubscription{
    返回此.hubConnection.stream('StremingMethod',streamingId)。订阅({
    下一步:streamingData=>{
    this.addToQueue(streamingData);
    },
    完成:()=>{
    console.log('complete');
    },
    错误:错误=>{
    console.log('complete');
    }
    });
    }
    
    我的问题是,当我需要时,如何推迟前端向服务器发送请求? 我可以在信号机里用那种控制吗。目前我正在使用长轮询,我也可以使用web套接字