Browse Source

Resolve promise instantly

If DOM is already loaded, promise should resolve sync
pull/9/merge
Luke Childs 8 years ago
parent
commit
2790d23d8a
  1. 4
      src/index.js

4
src/index.js

@ -13,12 +13,12 @@ const whenDomReady = (cb, doc) => new Promise(resolve => {
doc = doc || window.document; doc = doc || window.document;
// Handle DOM load // Handle DOM load
const done = () => resolve(cb && cb()); const done = () => resolve(cb && setTimeout(cb));
// Resolve now if DOM has already loaded // Resolve now if DOM has already loaded
// Otherwise wait for DOMContentLoaded // Otherwise wait for DOMContentLoaded
if (loadedStates.includes(doc.readyState)) { if (loadedStates.includes(doc.readyState)) {
setTimeout(done, 0); done();
} else { } else {
doc.addEventListener('DOMContentLoaded', done); doc.addEventListener('DOMContentLoaded', done);
} }

Loading…
Cancel
Save