打印机输出功能
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));
};