我设置了实时代理,当客户在一定时间间隔后没有回复他的消息时,我试图在代理端设置警报
这是我试图实现的方式(所有这些都在 js 助手中,由 js 控制器委派)
已声明一个全局变量 globalvariable1,它跟踪其更改的值
使用了代理聊天时触发的 onAgentMessageSend 组件
onAgentMessageSend : function(cmp,recordId,content,name,type,timestamp){
if(type=='Agent')
{
var self = this;
setTimeout(function() {
var returnedType=self.checkMessageSenderAndResetCounter(cmp);
}, 5000);
if(returnedType=='Default Value')
{alert('Unresponsive Customer');}
else{
console.log('customer responded hence reset');
globalvariable1= 'Default Value'}}
else{
console.log('Do nothing');}},
- 当来自代理或客户时更改全局值的功能
checkMessageSenderAndResetCounter: function(cmp) {
console.log('the current value of globalvarable'+this.globalvariable1);
return this.globalvariable1;},
当客户消息时触发的方法
onNewMessageFromEndUser :函数(cmp,recordId,内容,名称,类型,时间戳){
this.globalvariable1='Customer';},
总而言之,我在这里想要实现的是,一旦代理聊天,就会设置一个计时器,让我们说 5 秒。如果客户回复,则在该时间范围内,全局变量会更改并继续。如果客户端没有回复,全局变量仍然是默认值,然后它会发出警报,指示有一个未回答的问题。
但是 Settimeout 的结果是无法实现的,您能否在这里帮忙寻找其他方法来实现这一点,或者自己纠正这个问题?