IK
Interview Knowledge Book
Topics
Practice
Examples
Playground
RU
browser
Transaction rollback model
Model how a failed transaction leaves account balances unchanged.
index.js
const balances = { a: 100, b: 20 }; console.log('before', balances.a, balances.b); function transfer(amount) { const draft = { ...balances, a: balances.a - amount, b: balances.b + amount }; throw Object.assign(new Error('write conflict'), { draft }); } try { transfer(30); } catch { // rollback: committed balances stay unchanged } console.log('after', balances.a, balances.b);
Run
Stop
Reset