IK
Interview Knowledge Book
Темы
Практика
Примеры
Песочница
EN
browser
Transaction rollback model
Смоделируйте, как 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);
Запустить
Остановить
Сбросить