Signalr 为长时间运行的任务保持angular 8 toast/snackbar的活动状态

Signalr 为长时间运行的任务保持angular 8 toast/snackbar的活动状态,signalr,angular8,snackbar,Signalr,Angular8,Snackbar,我使用angular中的默认snackbar实现了angular 8快餐店。但是,我有一个excel提取发生在服务器上,我想报告它的进度…我正在实现signar将进度发送到客户端,但不确定如何保持snackbar活动以显示消息(而不重新创建snackbar)。我用一台烤面包机在angularjs中实现了它。有没有关于如何实现这一目标的建议 构造函数( 私人小吃店:Matsnakbar, 私人(ngZone:ngZone) {} 公共启动连接(){ this.hubConnection=new

我使用angular中的默认snackbar实现了angular 8快餐店。但是,我有一个excel提取发生在服务器上,我想报告它的进度…我正在实现signar将进度发送到客户端,但不确定如何保持snackbar活动以显示消息(而不重新创建snackbar)。我用一台烤面包机在angularjs中实现了它。有没有关于如何实现这一目标的建议

构造函数(
私人小吃店:Matsnakbar,
私人(ngZone:ngZone)
{}
公共启动连接(){
this.hubConnection=new signal.HubConnectionBuilder()
.withUrl(“https://localhost:5001/Signalbuild();
这个.hubConnection.start()。然后(()=>{
此._snackBar.open(“连接已启动”);
}).catch(err=>console.log(err));
此.hubConnection.onclose(()=>{
设置超时(()=>{
这个.hubConnection.start()。然后(()=>{
log(“连接已启动”);
}).catch(err=>console.log(err));
}, 5000);
});
this.hubConnection.on(“clientMethodName”,(数据)=>{
此._snackBar.open('从服务器返回的数据'+数据);
控制台日志(数据);
});
this.hubConnection.on(“WelcomeMethodName”,(数据)=>{
控制台日志(数据);
调用(“GetDataFromClient”,data).catch(err=>console.log(err));
});   
}

您需要将计时器传递给snackbar。谢谢,我知道我可以使用计时器使其保持活动状态,但如何更新snackbar消息以显示服务器上的进度…将接收数据的var分配给snackbar,并从snackbar订阅。谢谢,你能展示一个示例代码来实现这一点吗?我只是有点不明白你的意思。是的,你可以在这里阅读更多关于它的内容: