我的问题很简单,就像我在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);
}
我该如何解决?