js 实现类chatgpt流式传输

雨天呐 / 2023-05-11 / 原文

  startStreaming() {
      // 创建 XMLHttpRequest 对象
      const xhr = new XMLHttpRequest();
      // 设置请求的 URL
      xhr.open('GET', "接口");
      // 设置响应类型为 text/event-stream
      xhr.setRequestHeader('Content-Type', 'text/event-stream');
      // 监听 readyStateChange 事件
      xhr.onreadystatechange = () => {
        // 如果 readyState 是 3,表示正在接收数据
        if (xhr.readyState === 3) {
          var subStr='data:'
          // console.log(xhr.responseText.replaceAll(subStr,""),'12123123')
          // 将数据添加到文本框中
          this.fileContent = xhr.responseText.replaceAll(subStr,"");
          console.log(this.fileContent)
        }
      };
      // 发送请求
      xhr.send();
    },