dart - 监听HttpClientResponse总是抛出

标签 dart

import 'dart:io';
import 'dart:async';

void main() {
  HttpClient client = new HttpClient();
  client.getUrl(Uri.parse('http://api.dartlang.org/docs/releases/latest/dart_io/HttpClientResponse.html'))
    .then((HttpClientRequest request) => request.close())
    .then((HttpClientResponse response) {
      response.listen(print, onError: (e) {
        print('error: $e');
      }); 
    });
}

上面的代码不起作用,使用类似的方法像pipefold一样侦听也抛出异常=> Breaking on exception: The null object does not have a method 'cancel'.
更新

这是连接到本地计算机时的代码示例。
import 'dart:io';
import 'dart:async';

void main() {
  HttpServer.bind('127.0.0.1', 8080)
    .then((HttpServer server) {
      server.listen((HttpRequest request) {
        File f = new File('upload.html');
        f.openRead().pipe(request.response);
      });

      HttpClient client = new HttpClient();
      client.getUrl(Uri.parse('http://127.0.0.1:8080'))
        .then((HttpClientRequest request) => request.close())
          .then((HttpClientResponse response) {
            response.listen(print, onError: (e) {
              print('error: $e');
            });
          });
    });
}

它先打印出字节,然后抛出异常Breaking on exception: The null object does not have a method 'cancel'.
Dart编辑器0.7.2_r27268版本。 Dart SDK版本0.7.2.1_r27268。在Windows 64位计算机上。

最佳答案

您的示例适用于我的机器。

请指定您的Dart版本和其他有助于调试问题的系统属性。

关于dart - 监听HttpClientResponse总是抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18804573/

相关文章:

flutter - 当我尝试登录或注册时,出现错误 "Error type ' AuthResult' is not a subtype of type 'FirebaseUser' in type cast"

flutter - 将新项目添加到List <Widget>

android - 如何在 flutter 中删除多余的 json 对象

flutter - 错误缺少 'StatefulWidget.createState' 的具体实现。尝试实现缺少的方法,或者使类抽象

dart - 无法将List <num>下放到List <int>

dart - 在 flutter 中动态加载表单字段的最佳方法是什么?

dart - 如何在抽象类中声明工厂构造函数?

dart - 如何从 flutter 应用程序中导航到网页? (OAuth)

dart - 角度变化.dart变化检测方法

image - 如何从 Dart Flutter 中的图像中删除周围的空白?