我具有以下功能:
Future<Null> _loadORDER(String menssage) async {
var enZona =await ApiClient.zonaNum(menssage, apiKey);
print('enZona: $enZona');
if (enZona == 'true') {
_moveToNotification(context);
};
}
印刷品给我以下消息:“ enZona:“响应”的实例”
如果我测试了api查询的邮递员的响应是否正常,请给我: true , 那我希望打印结果是:“ enZona:true”
但是我不知道在继续条件(if)之前如何等待ApiClient的响应
感谢您的帮助!
感谢我添加.body但我得到了相同的响应,以下是apiclient代码:
final response = await http.get(baseUrl + '/shop/order/$message',
headers: {HttpHeaders.authorizationHeader: apiKey});
print("enZona: $response.body");
return response;
其打印值为: enZona:“ Response” .body的实例
答案 0 :(得分:1)
您应该使用大括号print("enZona: ${response.body}");
,或者可以先将response.body分配给某个变量。
final foo = response.body; print(foo);
答案 1 :(得分:0)
如果转到pub.dev documentation for the Response class,您将看到Response
不仅仅是响应的内容。它是一个包装器类,还包含诸如响应的statusCode
,headers
等信息。
当您在Postman中看到响应时,您只关心响应的内容,即响应的body
。您在代码中寻找的不是enZona
的{{1}}实例,而是Response
响应的body
。
因此,在尝试访问响应内容时,必须用enZona
交换enZona
。