我正在试图理解DART:IO库中http packageHttpClient class之间的区别.我的目的是知道我什么时候应该用哪一种.我看到他们两个人显然都做过同样的事情.

我认为这些问答是这样的:

这是我到目前为止认为是正确的,但我的理解是模糊的:

  • http表示高级别,HttpClient表示低级别(source)
  • http可以发出POST请求,但HttpClient不能(source)
  • httpHttpClient(具有HttpClientRequest)都可以发出GET和POST请求(source)
  • httpHttpClient都可以在客户端和服务器上使用

所以总而言之,我想说每个都可以做任何其他人也能做的事情,但使用http包更容易,因为这个包更多的是high-level.这个总结正确吗?

推荐答案

http包是对dart:iodart:html的抽象.

因此,如果您想在浏览器和其他发出HTTP请求的平台之间共享代码,那么最好使用http包.然后代码就可以在任何地方使用了.

如果您不关心浏览器,请使用您最喜欢的API.在 flutter 中,http的包装正好包装了dart:ioHttpClient.

Dart相关问答推荐

如何在流侦听器中对异步函数调用进行单元测试

dart 中的 Function() 和 Function 有什么区别?

是否从 Dart 中删除了interface关键字?

如何为屏幕设置不同的主题?

Flutter 中的with关键字

在构建函数之外使用 BuildContext

AngularDart 可以直接路由到组件吗?

如何通过 foreach 函数避免在 dart Map 中使用 await 键

有没有可能用Flatter摄像头插件播放视频?

如何创建一个对话框,能够接受文本输入并在Flutter中显示结果?

如何提取dart/Flutter视频元数据

找到两个数字中larger/smaller的方法是什么

如何在 Dart 中尚不存在的目录 struct 中创建文件?

dart中的max/mi int/double 值是否有常数?

Dart:Iterable 与 List,总是使用 Iterable?

找不到名为pubspec.yaml的文件

Dart - 如何对 Map 的键进行排序

有没有办法在 Dart 中通过引用传递原始参数?

在 Dart 中获取集合/列表中数字总和的最简洁方法是什么?

如何在 Dart 中生成唯一 id