Ошибка 500 обычно указывает на то, что ваша программа по какой-то причине потерпела крах, хотя, не просматривая журналы, трудно точно сказать, почему.
Я предполагаю, что в части
const vitamin_type = conv.parameters[VITAMINS_ENTITY].toLowerCase();
у вас нет параметра с именем "Витамины".Имена параметров чувствительны к регистру, и все они обычно строчные.Таким образом, conv.parameters[VITAMINS_ENTITY]
оценивается как undefined
, а undefined
не имеет функции .toLowerCase()
.
Кроме того, у вас есть по крайней мере одна логическая проблема в вашем коде.Строка
const vitamin_type = conv.parameters[VITAMINS_ENTITY].toLowerCase();
, которая гарантирует, что строка vitamin_type
в нижнем регистре.Значения, такие как «витамин А».
Но когда вы проверяете значения, вы используете сравнения, такие как
if (vitamin_type == 'Vitamin A') {
, где вы сравниваете его со значениями, такими как «Витамин А».Таким образом, значения никогда не будут совпадать.
Поскольку ни одно из значений не будет совпадать, вы выйдете из функции без вызова conv.ask()
, что приведет к ошибке.(Хотя не ошибка 500.)