我想按顺序调用多个sql查询。 我尝试使用下面的代码,但收到超时错误:
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。
答案 0 :(得分:0)
这可以通过链接AWS Lambda函数来解决。 所以在这种情况下,每个函数都必须分成不同的lambda函数。然后在链中调用它们。
但请记住,Lambda函数有时间限制并将退出。因此,如果Lambda运行时间更长,您可能需要不同的体系结构/ AWS组件来实现此目的。