我从未来的响应中分配变量类级别变量,但它将返回 null
getRequest(urlPath).then((value) => {response = value.data.toString()});
其中响应是类级别的变量值有数据但仍然响应为空
Future<Response> getRequest(String url) async {
return await m_basicDioConnection.getConnection().get(url);
}
HttpService 类
class HttpService {
BasicDioConnection m_basicDioConnection;
HttpService() {
m_basicDioConnection = new BasicDioConnection();
}
Future<Response> getRequest(String url) async {
return await m_basicDioConnection.getConnection().get(url);
}
Future<Response> postRequest(String url, String data) async {
return await m_basicDioConnection.getConnection().post(url, data: data);
}
Future<Response> putRequest(String url, String data) async {
return await m_basicDioConnection.getConnection().put(url, data: data);
}
}
class HttpServiceHandler extends HttpService {
String m_response;
set response(String resp) {
this.m_response = resp;
}
String get response {
return m_response;
}
String handleRequest(RequestEnumType method, String urlPath, String data) {
String resp;
switch (method) {
case RequestEnumType.GET:
getRequest(urlPath)
.then((value) => {this.response = value.data.toString()});
break;
case RequestEnumType.POST:
postRequest(urlPath, data)
.then((value) => {this.response = value.data.toString()});
break;
case RequestEnumType.PUT:
putRequest(urlPath, data)
.then((value) => {this.response = value.data.toString()});
break;
case RequestEnumType.DELETE:
break;
}
print(this.m_response);
return this.response;
} }
主功能
void main() {
HttpServiceHandler service = HttpServiceHandler();
String res = service.handleRequest(RequestEnumType.POST, "/api/users",
"{\"name\":\"hello\",\"job\":\"cenaCenacena\"}");
print(res);
}
打印(分辨率);打印空