Bot Framework + NodeJS: завершение диалога / разговора и цепочки обещаний - PullRequest
0 голосов
/ 01 октября 2018

Я немного знаком с Bot Framework и имею дело с некоторыми проблемами с обучением.Одна из таких проблем - правильное завершение разговора, когда вокруг него происходит какая-то сложная логика.Например, у меня есть нечто похожее на это в двух разных местах моего кода:

someFunction(var)
  .then(success => {
    return someOtherFunction(someOtherVar)
  })
  .then(success => {
    if (success) {
      return yetAnotherFunction(otherVar)
    } else {
      session.endConversation('I'm done with this conversation.') //Change this with session.endDialog but get same result
    }
  })
  .then(success => {
    builder.Prompts.confirm('Are you sure?')
  })
  .catch(error => {
    console.log(error)
  })

Теперь проблема в том, что, если я заканчиваю разговор / диалог, цепные обещания, кажется, продолжаются, несмотря на меняне возвращая новое обещание.Я вижу в журналах, что диалог / диалог завершился правильно, и все же впоследствии я получаю ошибку, которая гласит следующее:

TypeError: Cannot read property 'prompt' of undefined
    at Object.confirm 

или ошибка, связанная с тем, что у меня есть в коде вместо builder.Prompts.confirm().

С этой целью я начинаю верить, что моя схема цепочки Promises, возможно, не совсем верна.Мой вопрос тогда многогранен:

Есть ли последовательный способ разорвать цепь обещаний в данной точке?

или

Есть ли лучший способ пройти через несколькообещания, которые позволяют более чистый перерыв?

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