@Fox Ошибка при выполнении:
Uncaught (in promise) RangeError: Maximum call stack size exceeded
Чат жпт не знает как её исправить, предлагает решение:
В коде, который вы предоставили, ошибка "Uncaught (in promise) RangeError: Maximum call stack size exceeded" возникает из-за рекурсивного вызова функции delay внутри цикла for...of. Это приводит к переполнению стека вызовов и возникновению ошибки.
Для исправления этой ошибки вам необходимо изменить код таким образом, чтобы функция delay не вызывалась рекурсивно внутри цикла. Вместо этого вы можете использовать функцию setTimeout для задержки перед добавлением элемента в поток.
Но по факту без изминений, таже ошибка.
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
const chunksToSend = ['1', '2', '3'];
const stream = new ReadableStream({
start(controller) {
let index = 0;
const addChunk = () => {
if (index < chunksToSend.length) {
controller.enqueue(chunksToSend[index]);
index++;
setTimeout(addChunk, 100);
} else {
controller.close();
}
};
addChunk();
}
});
fetch('https://site.com/')
.then(response => response.text())
.then(text => console.log('Response:', text));