сохранить angular 8 тостов / закусочных в течение долгого времени - PullRequest
0 голосов
/ 09 марта 2020

Я реализовал 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));
    });   
  }
...