dart - 从Dart中的HttpClientResponse类检索字符串

标签 dart

我想在dart中将响应作为字符串检索,我指的是以下代码:

  Future<String> readResponse(HttpClientResponse response) {
    var completer = new Completer();
    var contents = new StringBuffer();
    response.transform(utf8.decoder).listen((data) {
      contents.write(data);
    }, onDone: () => completer.complete(contents.toString()));
    return completer.future;
  }

我从这个链接获得引用:
Retrieving the response body from an HttpClientResponse

但这给我一个错误:

A value of type 'Future can't be returned from method 'readResponse' because it has a return type of 'Future'.



我正在学习dart,但无法解决问题,我使用的是Dart 2.7

最佳答案

您必须指定Completer的类型。

import 'dart:async';

Future<String> readResponse(HttpClientResponse response) {
  var completer = Completer<String>();
  var contents = StringBuffer();
  response.transform(utf8.decoder).listen((data) {
    contents.write(data);
  }, onDone: () => completer.complete(contents.toString()));
  return completer.future;
}

关于dart - 从Dart中的HttpClientResponse类检索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59589386/

相关文章:

flutter - 自生成.dart_tool/package_config.json文件以来,pubspec.lock文件已更改

Angular 2 Dart : How to share variables between parent with router and child components?

flutter - flutter 如何传递数组并在其他小部件中显示

angular - Angular dart 中的对象运行时类型

flutter - 在 Flutter 中处理 Stateful 小部件后,const 实例会保留在内存中吗?

firebase - 发生异常。 _CastError(类型 '_InternalLinkedHashMap<dynamic, dynamic>' 不是类型转换中类型 'String' 的子类型)

dart - NetworkImage 无法呈现 url

dart - 如何修改插件 Dart 代码 Flutter?

android - 在 Flutter 应用程序中持久化数据

list - 在 Dart 中显示没有重复项的列表 <Map>