базовая firebase dialogflow — повторный агент добавляет dialogflow

#firebase #firebase-realtime-database #dialogflow-es

# #firebase #firebase-база данных в реальном времени #dialogflow-es

Вопрос:

действительно ценю помощь

Я следил за этим видео с этим кодом.

Мой код выглядит так

 function angerEmotionCapture(agent) {
    const angryTo = agent.parameters.angryDirectedTo;
    return admin.database().ref('directedTo').transaction((directedTo)=>{
      let target = directedTo;
      agent.add(`previous entry was ${target}`);
      target = angryTo;
      agent.add(`new entry is ${target}`);
      return directedTo;
    });
  }
 

Цель этого — захватить тему разговора и сохранить ее в базе данных.
Я планирую использовать его для нескольких целей, поэтому я не использую контекст.
Этот код — только первый шаг, чтобы проверить, смогу ли я правильно его захватить.

При этом ответ агента всегда выглядит следующим образом

 previous entry was null
new entry is boss
previous entry was friends
new entry is boss
 

Здесь ожидаются «друзья» и «босс». Однако первое повторение не ожидается, и оно всегда дает null. Несмотря на это, это корректно обновляет базу данных

Я хочу понять, почему здесь повторение Спасибо, действительно ценю время

Комментарии:

1. просто введите оператор if (если directedTo и angryTo не равны нулю, добавьте их в агент). Я не вижу смысла присваивать их переменной ‘target’.

2. @Gray_Rhino это работает, спасибо! Не могли бы вы объяснить, почему это будет повторяться без !== null ?