【发布时间】:2022-06-25 15:46:46
【问题描述】:
文件下载时我需要取消下载过程。
final http.Response responseData =
await http.get("URL_HEAR");
如何停止/中止当前正在运行的下载文件。我是颤振的新手。谁能帮帮我。
【问题讨论】:
标签: flutter dart flutter-http
文件下载时我需要取消下载过程。
final http.Response responseData =
await http.get("URL_HEAR");
如何停止/中止当前正在运行的下载文件。我是颤振的新手。谁能帮帮我。
【问题讨论】:
标签: flutter dart flutter-http
http.get 只是一个方便的函数,它创建 Client 并作为其基础,在其上执行 get,然后在客户端调用 close。
如果你创建了一个客户端,你可以在get 期间调用close,它会取消。下面是一个示例,展示了如何创建、使用和关闭客户端,以及一个计时器来演示早期的close 取消get。
import 'dart:async';
import 'package:http/http.dart' as http;
void main() async {
// create a Client
final client = http.Client();
// Start a timer to demonstrate calling close() while in operation
Timer(Duration(seconds: 1), () {
client.close();
});
// use client.get as you would http.get
final response = await client.get(
Uri.parse('http://ipv4.download.thinkbroadband.com/100MB.zip'),
);
print(response.body.length); // this line is not reached
// don't forget to close() the client for sunny day when *not* cancelled
client.close();
}
【讨论】: