【发布时间】:2018-08-20 13:42:51
【问题描述】:
我正在尝试做一些相当简单的事情,或者至少我认为它会很简单。
我希望 Alexa 使用我从头开始创建的 Lambda。我希望能够根据日期设置某些操作。我从 12 月 24 日开始,因为这很容易。我正在尝试将代码设置为是否是 12 月 24 日并且在 2100 年或之后,然后执行此操作或执行此操作。
exports.handler = (event, context, callback) => {
// TODO implement
var dateTime = new Date();
var day = dateTime.getDate();
var mon = dateTime.getMonth();
var hour = dateTime.getHour();
var answer = "";
if(day == 24 && month == 11 && hour >= 20) {
answer = 'working';
console.log(answer);
} else {
answer = 'not working';
console.log(answer);
}
callback(answer, 'Hello from Lambda');
};
我不是 Node 专家,不想运行一百万次测试,但我收到了这个错误:
{
"errorMessage": "RequestId: ff577333-cb51-11e7-8d87-6d7ffdfe6f08 Process exited before completing request"
}
我的代码是错误的还是我遗漏了什么?这是我考虑使用的另一个版本:
exports.handler = (event, context, callback) => {
// TODO implement
var dateTime = new Date();
var day = dateTime.getDate();
var mon = dateTime.getMonth();
var hour = dateTime.getHour();
var answer = "";
if(month == 11) {
if(day == 24) {
if(hour >= 20) {
answer = 'working';
console.log(answer);
}
}
} else {
answer = 'not working';
console.log(answer);
}
callback(answer, 'Hello from Lambda');
};
这是我正在使用的测试事件:
{
"key3": "11, 9, 21",
"key2": "12,24, 22",
"key1": "5, 5, 5"
}
也许我使用了错误的测试方式。希望得到一些指导。
提前感谢大家。
【问题讨论】:
-
在您的
callback中,第一个参数用于error,第二个参数用于response。您正在发送对第一个参数的响应,该参数被解释为错误。
标签: node.js aws-lambda alexa