You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS QLDB:如何通过回调或Promise判断事务提交状态?

关于AWS QLDB事务提交状态的判断

当然可以通过Promise的状态来判断事务的提交结果:

  • 事务成功提交:executeLambda方法返回的Promise会被resolved,此时可确认事务已完成提交(代码中的查询及可能的插入操作均成功执行)。
  • 事务提交失败:若事务过程中出现错误(比如并发冲突、语法错误、权限问题等),executeLambda返回的Promise会被rejected,你可以通过try/catch捕获对应错误信息,以此判断事务失败。

针对你的代码,可以调整为用try/catch捕获状态:

try {
    await qldbDriver.executeLambda(async (txn: TransactionExecutor) => {
        const check = (await txn.execute('SELECT * FROM Accounts WHERE owner = ?', document.owner)).getResultList();
        if (check.length === 0) {
            await txn.execute('INSERT INTO Accounts ?', document)
        }
    });
    console.log('事务提交成功');
    // 这里处理成功后的逻辑
} catch (error) {
    console.error('事务提交失败:', error);
    // 这里处理失败后的逻辑,比如根据错误类型做重试或告警
}

需要注意的是,QLDB的executeLambda会自动处理事务的重试逻辑(比如遇到乐观并发控制冲突时),只有当重试耗尽或出现不可重试的错误时,才会抛出错误供你捕获。

内容的提问来源于stack exchange,提问作者Vingtoft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:40:30