TGViewer
HowProgrammingWorks - JavaScript and Node.js Programming HowProgrammingWorks - JavaScript and Node.js Programming @howprogrammingworks · 6.52K subscribers
Post #2149 2.25K
Ownership and Resource Lifetime

Pure JavaScript examples of deterministic resource lifetime, ownership, move, borrow, lease, shared ownership, weak references, and RAII-inspired abstractions built on modern JavaScript.
const timers = require('node:timers/promises');

class AbortScope {
  #controller = new AbortController();
  signal = this.#controller.signal;
  [Symbol.dispose]() {
    this.#controller.abort(new Error('Scope disposed'));
  }
}

const main = async () => {
  let operation;
  {
    using scope = new AbortScope();
    operation = timers.setTimeout(1000, 'done', {
      signal: scope.signal,
    });
  }
  try {
    await operation;
  } catch (error) {
    console.log(error.name);
  }
};

main();

Sources: https://github.com/HowProgrammingWorks/Ownership
  • 🔥 7
  • ❤ 6
  • 👀 2
  • 👍 1
More from @howprogrammingworks
  1. Sep 25, 2026https://youtu.be/hKigdmvste0
  2. Sep 24, 2026В эту субботу будет стрим по применению AI в создании архитектуры. - архитектурный дрейф и…
  3. Sep 24, 2026Post #2176
  4. Sep 23, 2026Возможно, не все уловили, для чего reslop: - как в гитхабе и гитлабе есть интерфейс для ре…
  5. Sep 22, 2026Reslop 0.2.0 вышел С версии 0.1.3, он вырос из интерактивного инструмента для ревью diff'о…
  6. Sep 21, 2026У GPT 6 Astra при итеративном исправлении с AI разными путями можно прийти к одной и той ж…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →