导入 'dart:html' 失败

import 'dart:html' is Failing

我正在尝试使用 HttpResponse.getString() 来获取一些数据,但我无法将其导入。我正在使用 Dart 虚拟机。

我试过了

这是我的代码

void main() async {
  Future<String> data = HttpRequest.getString('localhost:8000');
  print(data);
}

为什么我无法访问此 class 和方法?

你运行你的程序怎么样?

  • dart:html 仅适用于浏览器内的应用程序 运行。
  • package:httpdart:html 不同,因此还有其他 类。但是你可以通过使用那个包来达到同样的效果。
  • dart:io 仅在 运行 您的应用程序通过 Dart VM 时可用。但是您可以使用它来实现相同的目的,但是您需要以不同的方式编写代码。

因为你得到错误 Error: Not found: 'dart:html' 我假设你正试图让它在 Dart VM 中工作。

如果你想使用 http 包,你可以这样做,我认为这是获得你想要的东西的最简单方法:

import 'package:http/http.dart' as http;

Future<void> main() async {
  Future<String> data = http.read('localhost:8000');
  print(await data);
}

如果你想使用 dart:io 可以这样做:

import 'dart:convert';
import 'dart:io';

Future<void> main() async {
  final clientRequest = await HttpClient().getUrl(Uri.parse('localhost:8000'));
  final clientResponse = await clientRequest.close();
  final data = await clientResponse
      .transform(const Utf8Decoder())
      .fold<StringBuffer>(
          StringBuffer(), (buffer, element) => buffer..write(element));
  print(data.toString());
}