From 121dcad95a80c61dd734ba5663b7eabb24b0e7f6 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Tue, 31 Jan 2017 19:29:00 +0700 Subject: [PATCH] Resolve promise instantly If DOM is already loaded, promise should resolve sync --- src/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index a2045c4..92ca4c3 100644 --- a/src/index.js +++ b/src/index.js @@ -13,12 +13,12 @@ const whenDomReady = (cb, doc) => new Promise(resolve => { doc = doc || window.document; // Handle DOM load - const done = () => resolve(cb && cb()); + const done = () => resolve(cb && setTimeout(cb)); // Resolve now if DOM has already loaded // Otherwise wait for DOMContentLoaded if (loadedStates.includes(doc.readyState)) { - setTimeout(done, 0); + done(); } else { doc.addEventListener('DOMContentLoaded', done); }