簡體   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