Редактирование элемента HTML внутри функции asyn c не будет работать (chatbow) в Node.js? - PullRequest
0 голосов
/ 25 апреля 2020

Совершенно новый для node.js и Dialogflow, но я создаю базовый c чат-бот, который я не хочу использовать в GUI через node.js + html + css. Я использовал установочный код Google, чтобы начать тестирование диалогового чат-бота, но я хочу передать один из результатов в файл HTML для замены текста. В конце концов я могу превратить это в пузырь сообщения чата.

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

Мой код:

function test(text){
   document.getElementById("p1").innerHTML = text;
 }

async function runSample(projectId = '/'){

  // A unique identifier for the given session
  const sessionId = uuid.v4();

  // Create a new session
  const sessionClient = new dialogflow.SessionsClient({ credentials: serviceAccount });
  const sessionPath = sessionClient.sessionPath(projectId, sessionId);

  // The text query request.
  var text = "how does the training work?";
  const request = {
    session: sessionPath,
    queryInput: {
      text: {
        // The query to send to the dialogflow agent
        text: text,
        // The language used by the client (en-US)
        languageCode: 'en',
      },
    },
  };

  // Send request and log result
  const responses = await sessionClient.detectIntent(request);

  console.log('Detected intent');
  const result = responses[0].queryResult;
  console.log(`  Query: ${result.queryText}`);
  console.log(`  Response: ${result.fulfillmentText}`);
  if (result.intent) {
    console.log(`  Intent: ${result.intent.displayName}`);
  } else {
    console.log(`  No intent matched.`);
  }

  test(result.fulfillmentText);

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