捕获消息后的Raven JS回调

时间:2018-08-07 13:37:02

标签: javascript sentry

我已经installed raven-js using Bower,并且正在使用captureMessage()将自定义消息发送到Sentry。

发送其中一条消息后,我需要重新加载页面。问题是,如果我在调用captureMessage()之后立即重新加载页面,则消息请求将被取消。

我尝试添加第三个参数作为回调,但函数未调用它。

Raven.captureMessage('Whoops', {foo: 'bar'}, callback() {
    console.log('Message sent!');
});

我已经看到一些更新的替代软件包支持此功能,但是我将不得不重新编写一堆用于交换库的代码。

到目前为止,我唯一的解决方案是在重新加载之前添加超时,并希望消息请求完成。

1 个答案:

答案 0 :(得分:1)

使用现已弃用的raven-js库,您可以在ravenSuccess上监听document事件

document.addEventListener("ravenSuccess", function (params) {
    try {
        const eventId = Raven.lastEventId()
        console.log('Sentry Error', eventId)
    } catch (e) {
        window.console.log(e)
    }
})

我还没有找到使用当前的Sentry JavaScript SDK(5.4.3)进行类似操作的方法。