javascript-async-dom
SKILL.md
JavaScript Async & DOM
When to use this skill
- Manipulating usage of
fetchorXMLHttpRequest. - Adding event listeners to DOM elements.
- Interacting with browser APIs (Local Storage, Navigator).
1. Async Data Fetching
- Fetch API: Use
fetch()with async/await. Always checkres.okbefore parsing JSON.const res = await fetch('/api/data'); if (!res.ok) throw new Error('Failed'); const data = await res.json(); - AbortController: Use
AbortControllerto cancel pending requests when components unmount or fast interactions occur.
2. event Delegation
- Listener Attachment: Attach listeners to a parent container rather than individual items for lists.
list.addEventListener('click', (e) => { if (e.target.matches('.item-btn')) { ... } }); - Cleanup: Always use
removeEventListenerif listeners are attached to transient elements (or use{ once: true }where applicable).
3. DOM Manipulation
- Performance: Minimize reflows. Read layout properties (offsetWidth, etc.) in a batch, then write styles in a batch.
- Fragments: Use
DocumentFragmentwhen appending multiple elements to the DOM at once.
Weekly Installs
3
Repository
sraloff/gravitybootsGitHub Stars
2
First Seen
Feb 21, 2026
Security Audits
Installed on
opencode3
gemini-cli3
github-copilot3
codex3
kimi-cli3
amp3