2016-12-05 52 views
1

我在Node.js中使用alexa-sdk。我有一个Alexa技能,有4个不同的状态持续到DynamoDB。在每次交互结束时,我需要状态变为READY状态。在每个处理程序的最后,我有一个SessionEndedRequest哪里设置我的状态如下:Alexa技能状态不会随SessionEndedRequest变化

this.state = States.READY; 
this.emit(':saveState', true); 

当技能与就绪状态启动,我从状态跳到使用声明:

this.handler.state = States.COMM; 
this.emitWithState('NewSession'); 

我每个处理程序都有NewSession。

我的问题是,当用户停止使用技能时,状态没有被重置。我需要它回到准备。

有人可以告诉我我需要做什么来完成吗?谢谢。

+0

我认为SessionEndedRequest只在用户不说话时触发。在这种情况下,我需要在用户响应后设置状态。如我错了请纠正我。 – froinds

回答

2

的代码你在这里:

this.state = States.READY; 
this.emit(':saveState', true); 

不会设置Alexa的应用程序的状态,因为处理程序对象上键存在的状态,你将不得不做

this.handler.state = States.READY; 
this.emit(':saveState', true); 

让我知道这是否能解决您的问题。谢谢。