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