我正在嘗試使用 Dio 創建一個類和方法來執行 HTTP 請求
class appCommunicate {
appGetRequest(String url, {headers = ''})
async {
if (headers.length > 0) {
_res = await dio.get(url, options: Options(headers: headers));
}
else
{
_res = await dio.get(url);
}
return _res;
}
}
然后當我嘗試按如下方式呼叫此類時:
final communicate = appCommunicate();
final response = await communicate.appGetRequest(_myUrl);
什么都沒有發生,沒有通信,應用程式就停在那里
uj5u.com熱心網友回復:
dio.get() 是可敬的例外。您必須在 try catch 塊中添加 dio.get 代碼來處理例外。
appGetRequest(String url, {headers = ''}) async {
try {
return (headers.length > 0) ? await dio.get(url, options: Options(headers: headers)) : await dio.get(url);
}
catch (e) {
print(e);
}
}
uj5u.com熱心網友回復:
我犯了一個錯誤,上面發布的類和方法很好并且作業正常。
我有另一段導致錯誤的代碼。愚蠢的我!
uj5u.com熱心網友回復:
因為它是一個async型別函式,所以它的回傳型別應該是Future這樣的——
類應用程式通信 {
Future<Response> appGetRequest(String url, {headers = ''})
async {
if (headers.length > 0) {
_res = await dio.get(url, options: Options(headers: headers));
}
else
{
_res = await dio.get(url);
}
return _res;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/420283.html
標籤:
