gpt4 book ai didi

javascript - SignalR Javascript 客户端 - 调用方法有效但 promise 无效(???)

转载 作者:行者123 更新时间:2023-11-30 20:07:25 24 4
gpt4 key购买 nike

目前我正在研究适用于 ASP.NET Core Web 项目的 SignalR,我使用 ASP.NET Core 作为 SignalR 的服务器,Web 客户端使用 SignalR Javascript Client。我正在制作一个聊天应用程序,当客户端从服务器调用函数时,它将返回一些消息。这是我的 Javascript 客户端函数:

      this.hub.invoke(method, data)
.then((res)=>{ alert(res);})
.catch(err=> alert(err));
服务器方法:

    public async Task<IActionResult> joinRoom(string roomId)
{
Console.WriteLine(roomId);
return new OkObjectResult("Ok");
}

问题:

  • 调用成功,服务端Console写入roomId

  • 但是,客户端的Promise.then/Promise.catch 没有起作用

当我关闭服务器时,客户端出现多个错误,提示由于连接已关闭,调用已被取消。

我的 SignalR 版本是 1.0.3

真的,我也查不出是什么原因。我希望你能帮助我,拜托......我也试过在服务器端返回一个字符串,但它也没有用。

最佳答案

您不能将 IActionResults 与 SignalR 一起使用,它不是 http 请求,它是 RPC 样式调用。只需返回您想要取回的对象,或者如果您不需要向客户端返回任何内容,则将返回类型设置为 Task。

public async Task<string> joinRoom(string roomId)
{
Console.WriteLine(roomId);
return "Ok";
}

关于javascript - SignalR Javascript 客户端 - 调用方法有效但 promise 无效(???),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52757271/

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