Node.js AWS Lambda:如何顺序调用Mysql查询
我想按顺序调用多个sql查询。 我已尝试使用以下代码,但出现超时错误:Node.js AWS Lambda:如何顺序调用Mysql查询,node.js,aws-lambda,node-mysql,Node.js,Aws Lambda,Node Mysql,我想按顺序调用多个sql查询。 我已尝试使用以下代码,但出现超时错误: exports.handler = function (event, context, callback) { getNumber() .then(result1 => { // Use result1 return getNumber1(); // (A) }) .then(result2 => { // (B) conso
exports.handler = function (event, context, callback) {
getNumber()
.then(result1 => {
// Use result1
return getNumber1(); // (A)
})
.then(result2 => { // (B)
console.log(result2);
callback(null, "OK");
})
.catch(error => {
console.log(error);
callback(null, "OK");
});
};
function getNumber() {
return new Promise(function(resolve, reject) {
connection.query("SELECT 1+1 as test ", (error, data) => {
if (error) {
reject(error);
} else {
resolve(data);
}
});
});
}
function getNumber1() {
return new Promise(function(resolve, reject) {
connection.query("SELECT 1+2 as test ", (error, data) => {
if (error) {
reject(error);
} else {
resolve(data);
}
});
});
}
在这里,我得到了“任务在3.00秒后超时”错误。
所以任何人都可以帮助我同步调用connection.query 这可以通过链接AWS Lambda函数来解决。 所以在这种情况下,每个函数必须被分成不同的lambda函数。然后把他们连成一条链 但是,请记住Lambda函数有时间限制,并且将退出。因此,如果Lambda运行时间更长,您可能需要不同的体系结构/AWS组件来实现这一点
你能检查它是否适用于单个查询吗?@Ashan,单个查询,你的意思是只调用'getNumber()。然后(..)。捕获(..)?是的。它有用吗?只是想检查数据库是否可以从Lambda访问。@Ashan,我已经通过添加Lambda函数执行日志的图像更新了我的问题。请检查并提出建议。谢谢