首页 > 解决方案 > 在chrome中使用EventSource时如何获取状态码?

问题描述

我曾尝试在 Google Chrome 中使用本机 EventSource,如果服务器响应错误,有关此响应的详细信息将显示在 chrome inspect 的响应标头中

错误详情

但似乎不可能从error回调函数onerror或侦听器处理程序(source.addEventListener('error',function (error){}))中的参数获取响应状态代码。

    let source = new EventSource('http://127.0.0.1:7071/sse?access_token=xxxxxxx')
    source.onerror = function (error) {
        console.log(error)
    };

    source.onmessage = function (event) {
        console.log('Unknown event with message :' + event.data)
    };

    source.addEventListener('log',function (event) {
        console.log('log event with message :' + event.data)
    });

    source.addEventListener('error',function (error) {
        console.log(error)

    })

那么,还有另一种方法可以在代码中获取响应详细信息吗?任何帮助将不胜感激。

标签: httpserver-sent-eventseventsource

解决方案


目前不是,但您可以设置这样的错误处理程序:

source.onerror = function(err) {
  console.error("EventSource failed:", err);
};

https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events


推荐阅读