Протокол буфера - отправить массив сообщений клиенту - PullRequest
0 голосов
/ 04 февраля 2020

Ниже message, который я создал в моем .Proto:

message ProductShippingReply {
  string id = 1;
  string shipping_mode = 2;
  double shipping_cost = 3; 
  int32 shipping_duration = 4;
}

в моем Node.Js коде, я пытаюсь отправить Array этого message обратно в клиент, однако клиент получает пустой объект. Это работает, если я отправляю только экземпляр такого message.

Как отправить Array из Message в PB?

1 Ответ

0 голосов
/ 05 февраля 2020

Если вы отправляете только этот тип сообщения, вы должны повторно отправить одно сообщение. Если у вас есть контроль над клиентом, вы можете изменить отправляемое сообщение. Вы можете вложить ProductShippingReply в другое прототипное сообщение, которое определяет массив.

message ProductShippingReply {
  string id = 1;
  string shipping_mode = 2;
  double shipping_cost = 3; 
  int32 shipping_duration = 4;
}

message ReplyArray {
  repeated ProductShippingReply psr_array = 1;
}

Далее вы заполните один объект ReplayArray несколькими объектами ProductShippingReply. Этот один объект ReplayArray будет затем передан вашему клиенту.

...