Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
271 views
in Technique[技术] by (71.8m points)

javascript - reconnect to event source when connection problem solved

I have a simple server-sent-event code that sends random integers in each second, and a react app is listening the events.

When the connection is lost due to that the server stops sending events, I get the Event Source failed error.

When I start the server again, I would like React hooks app to try to reconnect to the server again then receive the events automatically.

What is the right way of doing this? Should I periodically send the connection requests when the connection is refused due to the error or is there a way to automatically detect this? I would like to use Hooks for the solution.

I am sharing the React source code snippet where event listening logic exists:

  const [listening, setListening] = useState(false);
  const [currencyList, setCurrencyList] = useState(0);

  useEffect(() => {
    if (!listening) {
        eventSource = new EventSource(currencyUrl);
        eventSource.onmessage = (event) => {
            const currencyList = JSON.parse(event.data);
            setCurrencyList(currencyList)
        }
        eventSource.onerror = (err) => {
            console.error("EventSource failed:", err);
        }
        setListening(true)
    }
    return () => {
        console.log("event closed")
    }
 }, [])
question from:https://stackoverflow.com/questions/65909627/reconnect-to-event-source-when-connection-problem-solved

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...