ant-design / pro-chat

🤖 Components Library for Quickly Building LLM Chat Interfaces.
https://pro-chat.antdigital.dev
MIT License
586 stars 72 forks source link

🧐[问题] How to handle stream errors, so that the UI can display the error? #246

Open KrishnaPG opened 1 month ago

KrishnaPG commented 1 month ago

🧐 问题描述

When error happens in the streamed response, the ProChat UI should display it correctly. But Iam not sure how to implement such stream.

  const readableStream = new ReadableStream({
    start(controller) { 
      getAnswer()
       .then(data => controller.enqueue(textEncoder.encode(data)))
       .catch(ex) {
          controller.error(ex); <<--- this one throws error !!
       } 
       .finally(()=> controller.close())
    }
  }

Question: how to implement the ReadableStream correctly so that the errors are handled (and the ProChat UI shows the error).

Any help is greatly appreciated.