Progressive response
Hidetaka Okamoto edited this page Aug 22, 2018
·
2 revisions
Your skill can send progressive responses to keep the user engaged while your skill prepares a full response to the user's request. A progressive response is interstitial SSML content (including text-to-speech and short audio) that Alexa plays while waiting for your full skill response.
via: https://developer.amazon.com/docs/custom-skills/send-the-user-a-progressive-response.html
const { enqueueProgressiveResponseDirective } = require('ask-utils')
const GetFirstEventHandler = {
canHandle (handlerInput) {
const request = handlerInput.requestEnvelope.request
return request.type === 'IntentRequest' && request.intent.name === 'GetFirstEventIntent'
},
async handle (handlerInput) {
try {
await enqueueProgressiveResponseDirective(handlerInput, 'Please wait for a while')
} catch (err) {
// if it failed we can continue, just the user will wait longer for first response
console.log(err)
}
// call some api
const content = await get()
return responseBuilder
.speak(content)
.getResponse()
}
}