abort 抽象方法

  1. @Since("2.10")
void abort(
  1. [Object? exception,
  2. StackTrace? stackTrace]
)

中止客户端连接。

如果连接尚未完成,请求将被中止,并且 done 异步操作(同时由 close 返回)将会完成,带有提供的 exceptionstackTrace。如果省略 exception,则默认为 HttpException,如果省略 stackTrace,则默认为 StackTrace.empty

如果 done 异步操作之前已经完成,中止将没有效果。

在进行请求中止之后,使用 IOSink 方法(例如,writeadd)将没有效果。

var client = HttpClient();
HttpClientRequest request = await client.get('localhost', 80, '/file.txt');
request.write('request content');
Timer(Duration(seconds: 1), () {
  request.abort();
});
request.close().then((response) {
  // If response comes back before abort, this callback will be called.
}, onError: (e) {
  // If abort() called before response is available, onError will fire.
});

实现

@Since("2.10")
void abort([Object? exception, StackTrace? stackTrace]);