实现打字机后发现在后端打印的来自大模型的回复是调整好格式的,但是在前端打印时是没有遵循换行的,为了阅读的方便,对输出格式进行了调整。
经查询发现原因是\n在html中输出时没有被认作换行符,将\n替换为<br>即可实现换行输出
于是对代码进行了如下修改:
尝试发现,修改后,显示历史记录时可以正常进行读取和换行输出,但是在主页面进行聊天回复时,打字机功能出现了bug,在输出带有换行格式的内容后会在输出一次不带换行格式的文字。排查后,找到了原因:使用replace直接替换在不经过打字机时正常实现,但经过打字机时,打字机会再次添加一次替换前的文本,所以会输出两次。
找到问题后,决定将使用打字机时的修改替换转移到打字机方法内,由if-else进行判断,当前读取为\n时,向打字机中添加<br>,即可完成打字机格式输出。