前言:
项目需求实现请求回来的数据一个一个的打印在页面中,点击“停止生成”暂停打印;该功能需求类似于文心一言。
代码实现:
view页面代码:

script代码:

核心代码:
- let k = 0;
- timer = setInterval(() => {
- if (k >= props.answer.text.length) return clearInterval(timer);
- data.content += props.answer.text[k];
- k++;
- }, 100);
-
- //停止生成
- function stopTimer() {
- nextTick(()=>{
- data.button_value = "已停止生成"
- })
- clearInterval(timer);
- }