Как принимать данные в потоковом режиме JavaScript

Мне нужно потоково обрабатывать данные на сайде в бразуере от сервера. Я вроде бы остановился на методе с fetch и UInt8Array. Меня это вроде устаивает, но когда я пытаюсь подключиться в своему серверу у меня выдает ошибку Uncaught TypeError TypeError: Failed to fetch. Вот код клиента

        async function readData(url) {
            const response = await fetch(url);
            const reader = response.body.getReader();
            while (true) {
                const { done, value } = await reader.read();
                if (done) {
                    // Do something with last chunk of data then exit reader
                    return;
                }
                console.log(value);
                // Otherwise do something here to process current chunk
            }
        }
        //readData("https://habrastorage.org/r/w390/getpro/habr/upload_files/087/855/cfe/087855cfe58661eb369550d1d512646d.png")
        readData("http://localhost:5217/api");

и код сервера

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace TestServerASP.Controllers
{
    [Route("api")]
    [ApiController]
    public class Start : ControllerBase
    {
        [HttpGet("{req}")]
        public IResult Get(string req)
        {
            return Results.Stream(new MemoryStream(Enumerable.Range(50, req.Length).Select(i => (byte)i).ToArray()));
        }
    }
}

естетсвенно временно стоит такая заглушка вместо нормального потока, но, например с свагере работает, в постмане работает, а если через fetch то выдает ошибку. В чем проблема? какие есть требования для запросов чтобы их можно было зафетчить?


Ответы (0 шт):