gpt4 book ai didi

angular - 如果连接不处于 'Connected' 状态,则无法发送数据

转载 作者:行者123 更新时间:2023-12-02 14:56:10 25 4
gpt4 key购买 nike

在 Angular 6 中使用 SignalR 进行一个非常简单的调用来设置连接/停止,其中我有以下代码:

signalR.helper.ts

  public static setupHub<T>(hubUrl: string, eventName: string, callback: (data: T) => void, ...params: SignalRParam[]): HubConnection {
const token = localStorage.getItem(appConstant.token);
const url = this.buidlUrl(hubUrl, ...params);
const connection = new HubConnectionBuilder()
.withUrl(url,
{ transport: HttpTransportType.WebSockets, accessTokenFactory: () => token })
.build();
environment.production && connection.start();
!environment.production && connection.start().catch(err => console.error(err.toString()));
connection.on(eventName, callback);
return connection;
}

如果我尝试登录我的页面,我会在控制台上不断收到此错误:

signalR.helper.ts:19 Error: Cannot send data if the connection is not in the 'Connected' State.

我是 SignalR 和 Angular 的新手,为什么我不断收到此错误?

最佳答案

您首先需要确保您已开始连接

const connection = new signalR.HubConnectionBuilder()
.withUrl("/chathub")
.configureLogging(signalR.LogLevel.Information)
.build();

async function start() {
try {
await connection.start();
console.log("SignalR Connected.");
} catch (err) {
console.log(err);
setTimeout(start, 5000);
}
};

connection.onclose(async () => {
await start();
});

// Start the connection.
start();

关于angular - 如果连接不处于 'Connected' 状态,则无法发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53878852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com