【问题标题】:Retrieving String from HttpClientResponse class in Dart从 Dart 中的 HttpClientResponse 类中检索字符串
【发布时间】:2020-01-04 09:10:18
【问题描述】:

我想在 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

但这给了我一个错误:

无法从方法“readResponse”返回“Future”类型的值 因为它的返回类型是“未来”。

我正在学习 dart,但我无法找到解决方案,我使用的是 Dart 2.7

【问题讨论】:

    标签: dart


    【解决方案1】:

    您必须指定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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 2012-02-13
      • 2021-11-05
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多