Что можно использовать для возврата данных Neo4J из обещания в контексте диалога или шага waterfallStepContext в узлах Microsoft Bot Framework - PullRequest
0 голосов
/ 31 октября 2019

На этом этапе водопада

public async processRequest(stepContext: WaterfallStepContext): Promise<DialogTurnResult> { ...

Я пытаюсь вернуть или завершить диалог с помощью следующего:

return await stepContext.endDialog(JSON.stringify(dataPayload));

Однако я не могувернуть шаг внутри результата session.run (запрос).

Есть ли способ использовать шаг Waterfall, чтобы иметь функцию ответа для возврата stepContext?

Вот пример сеанса драйвера Neo4j,

session
  .run(query)
  .subscribe({
   onNext: function (record) {
   console.log(record);
   // return await stepContext.endDialog(JSON.stringify('dataPayload')); <-- not intiating
  },
  onCompleted: function () {
  session.close();
  },
  onError: function (error) {
  console.log(error);
  }
  });

1 Ответ

0 голосов
/ 03 ноября 2019

Если я правильно понимаю вопрос, похоже, что вы хотели бы дождаться завершения запроса, буферизуя все результаты, прежде чем переходить к шагу водопада?

В этом случае используйте обещание api:

const result = await session.run(query);
session.close(); 
await stepContext.endDialog(JSON.stringify(dataPayload));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...