1

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

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

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

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

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

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

有人能告诉我我需要做什么来实现这一目标吗?谢谢。

4

1 回答 1

2

你在这里的代码:

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

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

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

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

于 2016-12-25T18:14:11.450 回答