中止 抽象方法

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

中止客户端连接。

如果连接尚未完成,请求将被中止,并且由 done future(也由 close 返回)完成,并提供 exceptionstackTrace。如果省略 exception,则默认为 HttpException,如果省略 stackTrace,则默认为 StackTrace.empty

如果 done future 已经完成,则中止没有效果。

在请求被中止后,使用 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]);