首页 > 解决方案 > SignalR 接收数据并显示消息?

问题描述

我使用import * as signalR from "@aspnet/signalr";和使用toastr

在里面ngOnInit我从套接字监听数据:

connection.on("receivePassportData", data => {
    console.log(data);
    this.toastr.error('Title', 'Already checked!');
});

所以,我console.log(data)每次都看到它有数据,但是当我调用 toast 时它不显示消息。

如果使用单击 DOM 元素调用 toast,它可以正常工作。

我有 AnyDesck 访问权限来演示问题

完整代码是:

public run() {
   this.toastr.success('aadadasd', 'Already checked!'); // It works immidiatly
}


ngOnInit() {

        let session = sessionStorage.getItem("credentials");
        if (session) {
            let _session = JSON.parse(session);
            this.userId = _session.user.id;
        }

        connection = new signalR.HubConnectionBuilder()
            .configureLogging(signalR.LogLevel.Debug)
            .withUrl("http://localhost:8002/dataHub")
            .build();


        //connection.serverTimeoutInMilliseconds = 100000;
        connection
            .start()
            .then(() => {
                console.log("Connected!");
                //let a =  this.toastr;
                    connection
                    .invoke("join", this.userId)
                    .then(() => {
                        // console.log("joined to channel");
                    })
                    .catch(err => console.error(err.toString()));


            })
            .catch(function (err) {
                return console.error(err.toString());
            });

            connection
                    .on("receivePassportData", data => {
                        //a.error('', 'Checked');
                            this.toastr.error('aadadasd', 'Already checked!');
                        //this.scanDo(data);    

                    });

                connection
                    .on("receiveQRData", data => {
                            this.toastr.error('aadadasd', 'Already checked!');

                    });



        connection.onclose(error => {
            console.log(error);
        });

}

部分代码烤面包机未显示:

connection.on("receiveQRData", data => {this.toastr.error('aadadasd', 'Already checked!');
});

标签: angularangular7toasttoastr

解决方案


推荐阅读