Параметр выполнения диалогового потока недоступен

Я пытаюсь выполнить диалоговое окно с помощью NodeJS (диалог-выполнение).

Я пытаюсь получить доступ к параметрам из диалогового потока, но когда я пытаюсь получить доступ к параметру currency-name, я получаю следующую ошибку: ReferenceError: name is not defined

Но когда я печатаю параметры, я получаю: parameters: {"currency-name":["GBP","USD"],"number":500}

В настоящее время используется этот код:

agent.add("parameters: " + JSON.stringify(agent.parameters.currency-name));
agent.add("parameters: " + JSON.stringify(agent.parameters));

person f5172c0d83892c41b60de3f1fadd89    schedule 15.12.2018    source источник


Ответы (1)


Проблема в том, что agent.parameters.currency-name рассматривается как попытка доступа к agent.parameters.currency и вычитание того, что находится в name.

Чтобы указать имя параметра, которое помимо букв и цифр включает символы, необходимо использовать [] ссылку и строку для имени. Что-то вроде этого:

agent.parameters['currency-name']

Вы также можете изменить имя параметра в Dialogflow, чтобы убрать дефис.

person Prisoner    schedule 15.12.2018