Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js AWS Lambda:如何顺序调用Mysql查询_Node.js_Aws Lambda_Node Mysql - Fatal编程技术网

Node.js AWS Lambda:如何顺序调用Mysql查询

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

我想按顺序调用多个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

这可以通过链接AWS Lambda函数来解决。 所以在这种情况下,每个函数必须被分成不同的lambda函数。然后把他们连成一条链

但是,请记住Lambda函数有时间限制,并且将退出。因此,如果Lambda运行时间更长,您可能需要不同的体系结构/AWS组件来实现这一点


你能检查它是否适用于单个查询吗?@Ashan,单个查询,你的意思是只调用'getNumber()。然后(..)。捕获(..)?是的。它有用吗?只是想检查数据库是否可以从Lambda访问。@Ashan,我已经通过添加Lambda函数执行日志的图像更新了我的问题。请检查并提出建议。谢谢