С пакетом http
вы можете использовать метод send()
для отправки запроса и получить Stream
с ответом.
С Utf8Decoder
и LineSplitter
из dart:convert
вы можете декодировать и читать каждую строку по мере ее получения.
import 'dart:convert';
import 'package:http/http.dart';
main() async {
var request = Request('GET', Uri.parse('http://localhost:8090'));
var response = await request.send();
var lineStream =
response.stream.transform(Utf8Decoder()).transform(LineSplitter());
// lineStream is a Stream<String> with each line from the response as an event.
// We can use the listen() method or await for to read it.
await for (String line in lineStream) {
print(line);
}
}