Я реализовал angular 8 снэк-бар, используя снэк-бар по умолчанию в angular. Однако на сервере происходит извлечение Excel, и я хотел бы сообщить о его прогрессе ... Я реализую signalR, чтобы отправить прогресс клиенту, но не уверен, как сохранить снэк-бар живым, чтобы показать сообщение (без воссоздания закусочная). Я смог добиться этого в angularjs с помощью тостера. Любой совет, как этого добиться?
constructor(
private _snackBar: MatSnackBar,
private _ngZone: NgZone)
{}
public startConnection() {
this.hubConnection = new signalR.HubConnectionBuilder()
.withUrl("https://localhost:5001/Signal").build();
this.hubConnection.start().then(() => {
this._snackBar.open("connection started");
}).catch(err => console.log(err));
this.hubConnection.onclose(() => {
setTimeout(() => {
this.hubConnection.start().then(() => {
console.log("connection started");
}).catch(err => console.log(err));
}, 5000);
});
this.hubConnection.on("clientMethodName", (data) => {
this._snackBar.open('Data returned from server '+ data);
console.log(data);
});
this.hubConnection.on("WelcomeMethodName", (data) => {
console.log(data);
this.hubConnection.invoke("GetDataFromClient", data).catch(err => console.log(err));
});
}