2016-12-05 47 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); 

讓我知道這是否能解決您的問題。謝謝。