【发布时间】:2019-05-07 16:56:50
【问题描述】:
是否可以使用 Dart 流式传输 REST API JSON 响应? 前任。响应大小为 5000 行。我想逐行阅读,而无需先从源代码加载整个响应。
我认为 Java 和 JavaScript 可以实现类似的功能。
【问题讨论】:
标签: json api parsing dart stream
是否可以使用 Dart 流式传输 REST API JSON 响应? 前任。响应大小为 5000 行。我想逐行阅读,而无需先从源代码加载整个响应。
我认为 Java 和 JavaScript 可以实现类似的功能。
【问题讨论】:
标签: json api parsing dart stream
使用http 包,您可以使用send() 方法发送请求并在响应中使用Stream。
使用来自dart:convert 的Utf8Decoder 和LineSplitter,您可以在收到每一行时对其进行解码和读取。
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);
}
}
【讨论】: