我使用以下代码连接到 asp.net core signalR 服务器。但我无法建立联系。我做错了什么吗?
我收到此错误,
Error: The "promise" option must be a Promise
var hubUrl = "http://localhost:52273/logNotifierHub";
var connection = new signalR.HubConnection(hubUrl );
var hub = connection.invoke("LogNotifierHub");
var hubStart = connection.start({ jsonp: true });
connection.on("streamStarted", function () {
startStreaming();
});
var dataSource = new kendo.data.DataSource({
type: "signalr",
schema: {},
transport: {
signalr: {
promise: hubStart,
hub: hub,
server: {read: "read"},
client: {read: "read"}
}
}
});
$("#grid").kendoGrid({
dataSource: dataSource,
height: 850,
columns: [],
});
最佳答案
SignalR Promise 对象的结构发生了变化,但是您可以通过调整 kendo 插件来解决这个问题。
kendo.data.signalr.js
//if (typeof promise.done != 'function' || typeof promise.fail != 'function')
if (typeof promise.then != 'function')
...
//this.promise.done(function () {
// hub.invoke.apply(hub, args).done(options.success).fail(options.error);
//});
this.promise.then(function() {
hub.invoke.apply(hub, args).then(options.success);
});
关于javascript - 与新信号器库建立连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49399882/