Alexa:回复服务响应(node v2 SDK)

时间:2018-04-24 23:13:34

标签: node.js alexa-skills-kit

我在玩Alexa API。我希望Alexa回复从服务收到的内容。

不确定在哪里添加承诺。我尝试了这个,但Alexa说:“请求的技能响应存在问题”

const HelloWorldIntentHandler = {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'IntentRequest'
            && handlerInput.requestEnvelope.request.intent.name === 'HelloWorldIntent';
    },
    handle(handlerInput) {

        MyService.facts().then(function(data) {

            const speechText = 'No facts';

            if (data) {
                speechText = 'random facts: '
                data.forEach(function (fact) {
                    speechText += fact;
                })
            }

            return handlerInput.responseBuilder
                .speak(speechText)
                .reprompt(speechText)
                .getResponse();

        }, function(err) {
            console.log(err);
        });

    }
};

1 个答案:

答案 0 :(得分:1)

未使用Promise的回复。这个例子怎么样:

async handle(handlerInput) {
    return await MyService.facts().then(function(data) {
        // other stuff
    });
}