如何解决Dio 没有响应关闭的 API
我使用 API 来处理登录和存储令牌。如果凭据有效,响应将获得一个令牌,如果凭据无效,则响应将获得一个错误。现在它工作正常,我得到了令牌,如果出现错误,catch 方法会显示它,但是当我关闭 API 并发出 POST 请求时,我根本没有得到任何响应。如何处理 DIO 的连接错误?
Future<bool> login(String email,String password) async {
try {
var data = {
'email': email,'password': password,'device_name': 'mobile'
};
Response response = await _dio.post(
url + 'sanctum/token',data: data,options: Options(
headers: {
'Accept': 'application/json',},),);
await _storage.write(key: 'token',value: response.toString());
return true;
} catch (e) {
print(e.response.toString());
return false;
}
}
解决方法
尝试使用 false
而不是 finally
返回 catch
:
Future<bool> login(String email,String password) async {
try {
// Make the request here like you already are
return true;
} catch (e) {
print(e.response.toString());
} finally {
// This wouldn't get called if you already returned from the try block before,// but would get called after catch if an exception was caught.
return false;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。