节点js机器人框架中的setTimout函数中不提供对话框上下文

时间:2019-09-12 13:49:45

标签: botframework azure-bot-service

我的问题很简单,就像我在SDK v3中所做的一样。

我想在与机器人闲置2分钟后向用户发送消息。因此,我已经使用setTimeOut()发送消息。如果用户在2分钟内输入了任何消息,那么我需要使用clearTimeOut()清除上述setTimeOut;

在v#4中,Dialogcontext在setTimeOut()中不起作用,并且在我打印时Dialogcontext的值是“未定义”。

请在v4中找到以下代码段。

  const results = await dialogContext.continueDialog();
        console.log('---active dialog status....',results);

   if( dialogContext.context._activity.value===engconstant.getstarted){
      if (results.status === DialogTurnStatus.empty) {
       console.log('before timeinterval starts');
             await    getstartedinterval(dialogContext);   
      } 

  }

下面的代码显示了getStartedinterval函数。

async function getstartedinterval(dialogContext)
{


  timeoutobj= setTimeout(function (dialogContext) {
      console.log('--- inside setTimeout----',dialogContext);// displaying as undefined 
      notificationMsgGetStarted(dialogContext); 
  },constant.timeinterval);


}

我该如何解决?

0 个答案:

没有答案