Могу ли я отправить ссылку на функцию в ответ на запрос API? - PullRequest
0 голосов
/ 28 июня 2019

Могу ли я отослать ссылку на функцию или функцию как таковую, например, ответ на вызов API с сервера экспресс-доставки, а интерфейсная структура - angular js?

Я пытался отправить объект ответа, например: {per: true, listEvnts: events}, где events - функция, но на стороне клиента я получаю объект только с одним ключом: {per: true}.Второй ключ отсутствует.

Требуемый вывод будет объектом ответа, содержащим обе клавиши, например: {per: true, listEvents: events}.

Ответы [ 2 ]

2 голосов
/ 28 июня 2019

Нет, вы не можете отправлять функции через HTTP.Функции являются специфическими для программы, частью которой они являются.Вы не можете отправить это по сети.Вы даже не можете сериализовать функцию в JSON, так как JSON не определяет тип «функции».

Вы должны отправить исходный код функции в виде строки, а затем eval этот источниккод в реальную функцию на клиенте, но это плохая идея.Вы не обязательно знаете клиента, и любой отправляемый код не гарантированно исполняется на этом клиенте в этом конкретном контексте.

Отправляйте данные, а не код.

0 голосов
/ 28 июня 2019

Нет, это невозможно.Если вы хотите вызывать функцию от клиента к серверу, вы можете создать структуру RPC.Пожалуйста, предоставьте подробную информацию о том, что именно вам требуется здесь, так что это может помочь вам лучше.

{per: true, listEvnts: events} - простая строка json, пропущение "events" может иметь другую причину, более подробную информацию о вашемтребование и текущий объект помогут понять запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...