Я работаю над сервисом grpc с использованием golang, я заметил, что если есть ошибка rpc, я получаю
response = nil
err = some error
даже если я возвращаю ненулевой ответ вместе с ошибкой.
Однако я также вижу в своем файле pb.go:
err := c.cc.Invoke(ctx, "/proto.MyService/Hello", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
Если err не равно нулю, они делают ответ равным нулю, я думаю, это причина, по которой я получаю такой ответ.
Я не думаю, что имеет смысл получать ответ при возникновении ошибки, но тем не менее, есть ли способ получить как ответ, отличный от nil, так и ошибку err от grpc?