I have problem with my Lambda, actually in promise nodejs. I have wrote code like this in my Lambda:
'use strict'
const Alexa = require('alexa-sdk');
const mqtt = require('mqtt');
const APP_ID = undefined;
const WELCOME_MESSAGE = 'Welcome to the lamp control mode';
const WELCOME_REPROMT = 'If you new please say help'
const HELP_MESSAGE = 'In this skill you can controlling lamp to turn off or on, dim the lamp, change the lamp color and schedule the lamp';
const STOP_MESSAGE = 'Thanks for using this skill, Goodbye!';
const OFF_RESPONSE = 'Turning off the lamp';
const ON_RESPONSE = 'Turning on the lamp';
const DIM_RESPONSE = 'Dimming the lamp';
const CHANGE_RESPONSE = 'Changing the lamp color';
const AFTER_RESPONSE = 'Wanna control something again ?';
const handlers = {
    'LaunchRequest': function () {
        this.emit(':ask', WELCOME_MESSAGE, WELCOME_REPROMT);
    },
    'OnOffIntent' : function () {
        var status = this.event.request.intent.slots.status.value;
        var location = this.event.request.intent.slots.location.value;
        console.log(status);
        console.log(location);
        if (status == 'on') {
            // Promise Start
            var mqttPromise = new Promise(function(resolve, reject) {
                var options = {
                  port: '1883',
                  clientId: 'mqttjs_' + Math.random().toString(16).substr(2, 8),
                  username: 'username',
                  password: 'password',
                };
                var client  = mqtt.connect('mqtt://broker-address', options)
                client.on('connect', function() {
                    client.publish("lamp/status", status + ' ' + location, function() {
                        console.log("Message is published");
                        client.end();
                        resolve('Done Sending');
                    });
                });
            });
            mqttPromise.then(
                function(data) {
                    console.log('Function called succesfully', data);
                    this.emit(':ask', ON_RESPONSE, AFTER_RESPONSE);
                }, function(err) {
                    console.log('An error occurred: ', err);
                }
            );
            // Promise END
            // this.emit(':ask', ON_RESPONSE, AFTER_RESPONSE);
                       // client.publish("lamp/status", status + ' ' + location);
        } else if (status == 'off') {
            this.emit(':ask', OFF_RESPONSE, AFTER_RESPONSE);
            // client.publish("lamp/status", status + ' ' + location);
        }
    },
    'DimIntent' : function () {
        // to do here
    },
    'ChangeColorIntent' : function () {
        // to do here
    },
    'ShceduleIntent' : function () {
        // to do here
    },
    'AMAZON.HelpIntent': function () {
        this.emit(':ask', HELP_MESSAGE, 'Wanna control something ?');
    },
    'AMAZON.StopIntent': function () {
        this.emit(':tell', STOP_MESSAGE);
    }
};
exports.handler = function (event, context, callback) {
    const alexa = Alexa.handler(event, context, callback);
    alexa.APP_ID = APP_ID;
    alexa.registerHandlers(handlers);
    alexa.execute();
}
I test my code with Service Simulator in Alexa Developer and get this result : Result Image
So I checked output in Lambda and I got this error report : Error in Lamda
Can anyone please help me? I have no idea with this because this is my first trial :)
 
     
    