summaryrefslogtreecommitdiff
path: root/src/api/memory.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/memory.ts')
-rw-r--r--src/api/memory.ts10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/api/memory.ts b/src/api/memory.ts
index 8b0c738..6f4008a 100644
--- a/src/api/memory.ts
+++ b/src/api/memory.ts
@@ -15,7 +15,7 @@ const memory = {
oslimit: Array(Size).fill(null),
size: Size,
- subscribers: [],
+ subscribers: [] as Array<(o: { inuse: number; oslimit: number }) => void>,
appendData(o: { inuse: number; oslimit: number }) {
this.inuse.shift();
this.oslimit.shift();
@@ -45,7 +45,7 @@ function parseAndAppend(x: string) {
memory.appendData(JSON.parse(x));
}
-function pump(reader: ReadableStreamDefaultReader) {
+function pump(reader: ReadableStreamDefaultReader): Promise<void> {
return reader.read().then(({ done, value }) => {
const str = textDecoder.decode(value, { stream: !done });
decoded += str;
@@ -62,7 +62,6 @@ function pump(reader: ReadableStreamDefaultReader) {
parseAndAppend(lastSplit);
decoded = '';
-
console.log('GET /memory streaming done');
fetched = false;
return;
@@ -102,7 +101,7 @@ function fetchDataWithFetch(apiConfig: ClashAPIConfig) {
const { url, init } = getURLAndInit(apiConfig);
fetch(url + endpoint, init).then(
(response) => {
- if (response.ok) {
+ if (response.ok && response.body) {
const reader = response.body.getReader();
pump(reader);
} else {
@@ -110,10 +109,9 @@ function fetchDataWithFetch(apiConfig: ClashAPIConfig) {
}
},
(err) => {
-
console.log('fetch /memory error', err);
fetched = false;
- }
+ },
);
return memory;
}