Alexa 技能状态不随 SessionEndedRequest 改变

Alexa skill state not changing with SessionEndedRequest

我在 Node.js 中使用 alexa-sdk。我有一个 Alexa 技能,它有 4 种不同的状态保存到 DynamoDB。在每次交互结束时,我需要将状态更改为 READY 状态。在每个处理程序的末尾,我有一个 SessionEndedRequest,我在其中设置我的状态如下:

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

当技能以 READY 状态启动时,我使用以下方式从一个状态跳到另一个状态:

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

我在每个处理程序中都有 NewSession。

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

谁能告诉我需要做什么才能做到这一点?谢谢

你这里的代码:

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

不会设置 Alexa 应用程序的状态,因为状态键存在于处理程序对象上,您必须这样做

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

如果这能解决您的问题,请告诉我。谢谢