我不知道你们是否知道Amazon Echo是什么但很快:
Amazon Echo是语言助手。
然而:
我正在为我的Echo编写一个技能(插件)以获取一些数据库信息。
除了数据库查询之外的所有内容都能正常工作。
如果我第一次问Echo(约30分钟后),我会得到答案:无法读取数据库。
如果我现在问同样的问题,在2分钟的问题之后,我会得到正确的答案。
但如果我现在要求另一个项目,则需要2分钟,直到Echo知道它。
整体如何运作以及我是如何做到的(使用技能等),你可以在这里找到一个教程:https://medium.com/clay-labs/code-your-first-alexa-skill-in-30-ish-seconds-using-clay-ready-go-8293ee1761ac#.r52zrdboq
我的代码:
var Alexa = require('clay-alexa-sdk');
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'xx.xx.xx.xx',
user: 'xxxx',
password: 'xxxxxxxxxxxx',
database: 'items',
timeout: 8060000
});
connection.connect();
var id01 = '1';
var id02 = '2';
var id03 = '3';
var ItemAA = "Could not be read the database ";
var ItemAB = "Could not be read the database ";
var ItemAC = "Could not be read the database ";
connection.query('select * from items where id =' + id01, function(err, result) {
ItemAA = JSON.parse(JSON.stringify(result))[0].price;
});
connection.query('select * from items where id =' + id02, function(err, result) {
ItemAB = JSON.parse(JSON.stringify(result))[0].price;
});
connection.query('select * from items where id =' + id03, function(err, result) {
ItemAC = JSON.parse(JSON.stringify(result))[0].price;
});
exports.handler = function(event, context, callback) {
console.log(event);
var handlers = {
'ItemAA': function(){
this.emit(':tell', "Item Name ONE " + ItemAA);
},
'ItemAB': function(){
this.emit(':tell', "Item Name TWO " + ItemAB);
},
'ItemAC': function(){
this.emit(':tell', "Item Name THREE " + ItemAC);
},
'LaunchRequest': function(){
this.emit(':tell', "Hello and welcome.");
},
'Unhandled': function(){
this.emit(':tell', "I dont know, what you searching for.");
}
};
var alexa = Alexa.handler(JSON.parse(event.body), context);
alexa.registerHandlers(handlers);
alexa.execute();
}
我做错了什么?
请帮助我。