feat: 修复因为截断导致的宽字符乱码问题

This commit is contained in:
zgs225 2023-04-06 10:24:51 +08:00
parent b1e26a5063
commit 28a9cddb3d

View File

@ -159,7 +159,10 @@ export async function requestChatStream(
if (res.ok) {
const reader = res.body?.getReader();
const decoder = new TextDecoder();
const decoder = new TextDecoder("utf-8", {
fatal: true,
ignoreBOM: true,
});
options?.onController?.(controller);
@ -168,13 +171,12 @@ export async function requestChatStream(
const resTimeoutId = setTimeout(() => finish(), TIME_OUT_MS);
const content = await reader?.read();
clearTimeout(resTimeoutId);
const text = decoder.decode(content?.value);
const text = decoder.decode(content?.value, { stream: !content?.done });
responseText += text;
const done = !content || content.done;
options?.onMessage(responseText, false);
if (done) {
if (content?.done) {
break;
}
}