ng2-signalsr在返回和转发时冻结网站

问题描述 投票:1回答:1

我无法找到答案为什么当我在执行解析器的页面中前进和后退时,突然签名停止工作,并且我的所有Angular 6都冻结了。 (你无法点击任何链接)网站看起来不错,但没有任何工作..

我在用 “ng2-signalr”:“^ 6.1.0”,Angular 6.0.3

我实现了ng2-signalr,解析器在启动时没有工作,比我更改它使用ISignalRConnection我可以在第6次返回和转发第6次应用程序Just FREEZE,

export class SignalrConnectionService implements 
Resolve<ISignalRConnection> {
@Injectable()
export class SignalrConnectionService implements Resolve<ISignalRConnection> 
{
    constructor(private _signalR: SignalR) { }
    resolve() {
        console.log('ConnectionResolver. Resolving...');
        //this._signalR.createConnection();
        try {
            return this._signalR.connect();
        }
        catch (err) {
            console.log("Error in _signalR.connect: " + err.message);
        }
        //return this._signalR.createConnection();
    }
}

在路由中我做了:

path: 'my_path',
component: MyComponent,
canActivate: [AuthGuard],
resolve: { connection: SignalrConnectionService }

如果我删除了解析线,则signalR被取消,一切正常(没有冻结,没有信号R),但我需要它..

有帮助吗?

signalr
1个回答
0
投票

所以我找到了解决方案。看来你不需要使用解析器,而是在构造函数中,这样做:

构造函数(private _signalR:SignalR){

this._connection = _signalR.createConnection();

}

只有在ngInit中,您才能输入如下代码:

this._connection.start()。then((c)=> {

//随你

    });

});

这似乎解决了问题:)

© www.soinside.com 2019 - 2024. All rights reserved.