javascript - 与新信号器库建立连接

标签 javascript jquery kendo-grid asp.net-core-signalr

我使用以下代码连接到 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/

相关文章:

c# - 获取 https://www.google-analytics.com/ga.js net::ERR_TIMED_OUT

javascript - Chrome 中的 CSS 延迟加载

javascript - 剑道网格自定义过滤器

asp.net-mvc - 剑道网格分层 View : How to avoid auto open first row

javascript - 我必须在客户端创建记录吗?

javascript - 新创建元素上的事件处理程序

javascript - 如何为右键单击的每个汉字字符显示汉字笔划顺序工具提示?

javascript - 将值传递给 jquery 创建的输入字段

javascript - Kendo grid 使用编码字符导出某些语言的 header

javascript - 用连字符分隔匹配值