我有一个 Alexa 技能,我想对一个意图做出初始响应,然后在延迟之后再声明另一个响应。
我尝试在它们之间使用多个response.tell(...)
调用setTimeout()
,但这只会响应第一个.tell()
和结束。(.tell()
设置为结束会话,但即使我将其设置为false
,我的代码仍然永远不会到达setTimeout()
)
我已经包含了一些关于我想做的伪代码:
intentHandlers.DynamicDurationIntent = function(intent, session, response) {
var calculatedDuration = doCalculation();
var speechDuration = convertToSpeech(calculatedDuration);
var speechOutput = "Your duration will last <say-as interpret-as="time">' +
speechDuration +
'</say-as>";
response.tell(speechOutput); //I get this far
setTimeout(function () {
var speechOutputEnd = "Great job! You're done.";
response.tell(speechOutputEnd);
}, calculatedDuration);
}
此模型的一个示例用于 7 分钟锻炼 Alexa 技能。
使用 AWS Lambda 是否可行?
谢谢!