#flutter #grpc
Вопрос:
Я использую grpc в трепете. Мой вопрос заключается в том, как я могу обрабатывать ошибки GRPC с помощью перехватчиков. Моя цель-обрабатывать все ошибки в одном и том же месте.
Я был бы очень признателен вам за помощь.
Ответ №1:
Вы можете реализовать свой собственный перехватчик следующим образом:
class MyInterceptor implements ClientInterceptor {
MyInterceptor();
@override
ResponseFuture<R> interceptUnary<Q, R>(ClientMethod<Q, R> method, Q request,
CallOptions options, ClientUnaryInvoker<Q, R> invoker) {
final response = invoker(method, request, options)
..catchError((e) async {
print('handle errors here $e');
});
return response;
}
@override
ResponseStream<R> interceptStreaming<Q, R>(
ClientMethod<Q, R> method,
Stream<Q> requests,
CallOptions options,
ClientStreamingInvoker<Q, R> invoker) {
return invoker(method, requests, options);
}
}