【问题标题】:Why does flutter API response body not print in console?为什么颤振 API 响应正文不在控制台中打印?
【发布时间】:2021-09-23 22:18:47
【问题描述】:

我正在尝试使用 dart http package 发送 API 请求。我是 Flutter 开发的新手(但是我已经在 java 中进行了广泛的编码)。我想知道为什么响应正文不会在控制台中打印。我在 pubscpec.yaml 中添加了依赖项并在页面顶部导入。导入没有问题,因为我在运行时没有错误(没有任何红线和正确自动完成的单词)
这是用于发送请求的函数的代码

void getData() async {
    var url = Uri.parse("http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=110a603f26f6f7e2ade19f00669dc8fa");
    var response = await http.get(url);
    print('Response body: ${response.body}');
  }

注意:API 密钥是 openweathermap 提供的默认开发者密钥
当我运行时,我没有收到任何错误,只是一个干净的控制台,运行选项卡下没有打印任何内容
谢谢!

【问题讨论】:

  • 没有,因为在同一个项目中,我已经打印成功了
  • 过多的print 消息可能会被丢弃(这就是为什么您应该改用debugPrint 的原因)。即使使用debugPrint,很长的消息也可能会被操作系统截断。
  • 我尝试运行您的代码,但打印效果很好。您能否提供更多信息,例如调用该方法的上下文?
  • Android Manifest 似乎有问题,我已经添加了互联网权限,但 Android Manifest 本身充满了错误。每次我创建一个新的flutter项目,甚至从github导入一个,它都可以正常工作,android manifest中没有错误,现在它充满了错误并且“无法解析任何符号”

标签: android flutter api dart openweathermap


【解决方案1】:

您可以打开 Flutter 开发工具并在网络选项卡下检查您是否收到响应, 可能是 await 从未完成并且执行从未到达 print 语句, 所以它不会被打印出来

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 2021-12-09
    • 2017-11-05
    • 1970-01-01
    • 2015-04-07
    • 2021-09-15
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    相关资源
    最近更新 更多