答案 0 :(得分:1)
您的直接问题是您在某个地方有一个错误处理程序函数,该函数仅接受HttpException
作为参数,但是需要一个接受任何对象的函数,因为类型系统不知道您只需要捕获HttpException
个。
我从屏幕快照中看不到该函数的来源,但是正在寻找一个以HttpException
作为参数的函数。
(第二,您急切地执行三个HTTP请求,一个POST,一个GET和一个PATCH请求,然后仅等待其中一个。您可能需要延迟客户端请求,直到您确定要哪个请求为止。我可以使用开关或功能图:
var handlers = {
"POST": () => _client.post(...),
"GET": () => _client.get(...),
"PATCH": () => _client.patch(...),
};
http.Response response = await handlers[method]();
或
http.Response response;
switch (method) {
case "POST":
response = await _client.post(...);
break;
case "GET":
response = await _client.get(...);
break;
case "PATCH":
response = await _client.patch(...);
break;
default:
throw UnsupportedError("Unknown method: $method");
}
)