mirror of
https://github.com/wassname/chatGPTBox.git
synced 2026-07-23 12:50:47 +08:00
feat: support for non-streamed responses (#294)
This commit is contained in:
+11
-1
@@ -19,7 +19,17 @@ export async function fetchSSE(resource, options) {
|
||||
let hasStarted = false
|
||||
for await (const chunk of streamAsyncIterable(resp.body)) {
|
||||
const str = new TextDecoder().decode(chunk)
|
||||
parser.feed(str)
|
||||
if (!str.startsWith('{') && !str.startsWith('"{')) {
|
||||
parser.feed(str)
|
||||
} else {
|
||||
const formattedStr =
|
||||
'data: ' +
|
||||
JSON.stringify(
|
||||
JSON.parse(str.replace(/^"|"$/g, '').replaceAll('\\"', '"').replaceAll('\\\\u', '\\u')),
|
||||
).replaceAll('\\\\n', '\\n') +
|
||||
'\n\ndata: [DONE]\n\n'
|
||||
parser.feed(formattedStr)
|
||||
}
|
||||
|
||||
if (!hasStarted) {
|
||||
hasStarted = true
|
||||
|
||||
Reference in New Issue
Block a user