javascript - 为什么 Strophe.js 没有抛出错误?

标签 javascript strophe

示例代码:

var connection = null;

function onConnect(status) {
    im_a_big_error.log('wtf');
    // Why it doesn't throw me an error here ??                                                                                                                                                                                                
}

$().ready(function() {
    connection = new Strophe.Connection('http://localhost:8080/http-bind');
    connection.connect('admin@localhost', 'admin', onConnect);
});

它不会在我的 Chrome 控制台中抛出错误。

你有解决这个问题的想法吗?

最佳答案

是的,Strophe 经常自己捕获错误,目前不提供任何获取连接错误信息的能力。虽然错误捕获是可以的,但不能自己捕获错误不是很好。但是您可以使用以下代码修复它:

$().ready(function() {
    connection = new Strophe.Connection('http://localhost:8080/http-bind');
    connection._hitError = function (reqStatus) {
        this.errors++;
        Strophe.warn("request errored, status: " + reqStatus + ", 
                number of errors: " + this.errors);
        if (this.errors > 4) this._onDisconnectTimeout();
        myErrorHandler(reqStatus, this.errors);
    };
    connection.connect('admin@localhost', 'admin', onConnect);
});

其中 myErrorHandler 是您的自定义连接错误处理程序。

关于javascript - 为什么 Strophe.js 没有抛出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8285053/

相关文章:

javascript - Strophe.js 文件传输的完整示例

javascript - 如何自定义 ionic 选择和 ionic 选项菜单( ionic )

javascript - 使用 Javascript 向 XMPP 服务器发送 ping

angular - angular5 中 XMPP Web 客户端的起点

javascript - ejabberd MAM 不适用于 Strophe js

javascript - 使用 jquery $.post url 调用特定函数 php

javascript - 单击一个时切换/关闭所有其他 div

javascript - 如何读取 pm api sendRequest 生成的流响应

javascript - 如何在 JavaScript 中停止计时器?

apache - Openfire 和 strophe.js : not allowed by Access-Control-Allow-Origin