繁体   English   中英

在 AWS Lambda node.js function 中使用 async/await 引发错误

[英]Throwing errors using async/await in AWS Lambda node.js function

我正在尝试向调用 function 抛出错误,但未捕获该错误。 异常不会传播到调用 function。

'use strict';

const { Pool } = require('pg');
const pool = new Pool();

var result;

exports.handler = async (event) => {
   
  var payload = event;
  try{
     result = await insertOrder(payload, 'test');
   }
   catch (err) {
     console.error("Error from main: " + err);
     throw err ;
  }
 return result;
};


async function insertOrder(payload, name)
{ 
 const client = await pool.connect();
 try{
    const queryString = {
        text: "INSERT INTO public.orders(payload, shop_name)" +
              "VALUES ($1, $2) RETURNING id",
        values: [payload, name],
    };

    const result = await client.query(queryString);       
    var orderId = result.rows[0].id;
    
  }
  catch (err) {
    await client.query('ROLLBACK');
    console.log("Error from child: " + err);
    throw err;
  }
  finally {
    client.release();
    return orderId;
  }
}

以下是写入日志的内容:

来自子级的信息错误:错误:INSERT 的目标列多于表达式

调用 function 中的 console.error 未写入日志。 我错过了什么? 蒂亚!

搬家退货orderId; 尝试阻止解决了我的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM