2017-10-12 20 views
0

私はAmazon Echoのスキルを習得しようとしています。私は文字通りちょうどこんにちはと応答する超簡単なものを作りました。AWS Lambda 'プロセスがリクエストを完了する前に終了しました'

2度目の試みとして、私が学んだことを解明するために、もう少し冒険したいと思っていました。そして、AlexaにArrayからランダムなGoTを提供させてもらいました。私は一般的にコーディングするのがかなり新しく、ほとんどがウェブのものに取り組んでいます。私はかなり長い間別の手段で検索しようとしており、助けてくれたものは何も見つかりません。

ラムダでテストすると、ログ出力で「プロセスが完了する前にプロセスが終了しました」というメッセージが表示されます。「Alexaはexports.handlerで定義されていません」と表示されることもあります。本当に誰かが助けることを望む。以下は、この長いwindednessのため申し訳ありません..

私のコードです:

この変更前も

var Alexa = require('alexa-sdk');

"use strict"; 

var alexa = require('alexa-sdk'); 

// QUOTES ARRAY 
var quotes = [ 
     'A mind needs books as a sword needs a whetstone, if it is to keep its edge', 
     'Never forget what you are, for surely the world will not', 
     'I wont be knitting by the fire while I have men fight for me' 
    ]; 


// HANDLERS 
var handlers = { 
    getThatQuote: function() { 
     var quoteIndex = Math.floor(Math.random() * quotes.length); 
     var randomQuote = quotes[quoteIndex]; 
     return randomQuote; 
    }, 

    LaunchRequest: function() { 
     this.emit(":tell", "Welcome to Game of Quotes"); 
    }, 
    QuoteGet: function() { 
     this.emit(":tell", "Here is your quote" + this.getThatQuote()); 
    }, 
}; 

exports.handler = function (event, context) { 
    const alexa = Alexa.handler(event, context); 
    alexa.registerHandlers(handlers); 
    alexa.execute(); 
}; 
+0

var alexa = require( 'alexa-sdk')は、Alexa SDK(Alexa.handler(event、context)経由)を使用しようとしている後のコードと互換性がありません。 Alexaと同じスペルを使用してください。 – jarmod

答えて

2

変更

var alexa = require('alexa-sdk');

あなたはlowercを上書きしていたase alexa変数。私は使用前に未定義の変数を使用するような問題をキャッチするので、あなたのjavascriptコードにリンターを使用することをお勧めします。

+0

正直なところ、ありがとう、本当にありがとう、私の不幸な感謝の気持ち!トップにも感謝! –

+0

np!それがうまくいってうれしい – jontro

関連する問題