SSE返回实现打印机输出功能

115 阅读1分钟

打印机输出功能

var contentMsgArr = [];
var text = '';
// 添加打印机效果
const typerEffect = (content, isEnd, id) => {
// 清除最后一个字符下划线
var renderSpeed = 2500;
if (isEnd) {
  text = '';
  renderSpeed = 1000;
}
contentMsgArr.push(...content.split(''));
const typerEffectTimeout = setInterval(() => {
  // if (forceStop) {
  //     clearInterval(typerEffectTimeout);
  //     console.log("手动结束")
  //     return
  // }
  if (contentMsgArr.length <= 0) {
    clearInterval(typerEffectTimeout);
    console.log('打字机结束');
  }
  var leftChar = contentMsgArr.shift();
  if (leftChar !== undefined) {
    text = text + leftChar;
    // setMessageList([...list]);
    console.log('text', text);
    setMessage(text); // 页面展示的值
    setId(id); // id用来判断是否是同一条消息
  }
}, Math.round(renderSpeed / content.length));
};