Flutter中按钮点击触发HTTP请求更新文本字段的正确写法
Flutter按钮点击触发HTTP请求并更新UI的正确写法
你的现有代码逻辑是可行的,不过可以优化写法让代码更简洁易读,下面给出几种推荐方案:
基础优化写法
你当前混合使用async/await和.then()有点冗余,简化为纯async/await风格后可读性更强:onPressed: () async { final response = await http.get(Uri.parse('https://localhost:5001/api/Blog')); setState(() { _httpResult = response.body; }); }这种写法直接获取请求响应,再调用
setState更新文本字段,逻辑清晰直观。生产环境健壮写法(含异常处理)
实际开发中必须考虑请求失败的情况(比如网络断开、服务器报错),建议添加异常捕获和状态码判断:onPressed: () async { try { final response = await http.get(Uri.parse('https://localhost:5001/api/Blog')); // 校验响应状态码,确保请求成功 if (response.statusCode == 200) { setState(() { _httpResult = response.body; }); } else { setState(() { _httpResult = '请求失败,状态码:${response.statusCode}'; }); } } catch (error) { setState(() { _httpResult = '网络异常:$error'; }); } }这样能在各种异常场景下给用户合理的反馈,避免UI无响应或出现未知错误。
内容的提问来源于stack exchange,提问作者user3705497
相关产品推荐
相关产品推荐

