【发布时间】:2023-03-22 16:50:02
【问题描述】:
有没有办法为 SignalR 传递回调函数?现在我有我的site.js
messageHub.client.sendProgress = function (progress) {
//doSomething with progress
}
我想要的是
messageHub.client.sendProgress = function (progress,callback) {
callback(progress);
}
这将使我能够为同一个 signalR 方法定义来自网页的不同回调函数。 现在我通过在我的网页上定义一个函数来以一种 hack-ish 的方式来做这件事
function fnSendProgress(progress) //define this for site.js.
{
//do something here
}
然后在site.js 中调用它
messageHub.client.sendProgress = function (progress) {
debugger;
//have a definition of a function called fnSendProgress(progress)
//if found it will call it else call default
if (typeof fnSendProgress == 'function') {
fnSendProgress(progress);
}
else {
//do something at site.js level
}
};
它有效,但我想知道是否有更清洁的方法。 非常感谢任何帮助。
【问题讨论】:
-
你想从哪里指定回调函数?您是否希望服务器在调用客户端 hub 方法时提供回调函数?我不清楚你的问题。