[*kit] fulfil promise immediately

I think this would only commonly happen for cases which files aren't
being loaded (debug asmjs), but could happen if multiple ready() calls
are made (which is discouraged).

Bug: skia:
Change-Id: If848aad8603f997661502563136ac590cc9a6d5a
Reviewed-on: https://skia-review.googlesource.com/c/181409
Reviewed-by: Kevin Lubick <kjlubick@google.com>
diff --git a/experimental/canvaskit/CHANGELOG.md b/experimental/canvaskit/CHANGELOG.md
index 7fe59cd..bfa401b 100644
--- a/experimental/canvaskit/CHANGELOG.md
+++ b/experimental/canvaskit/CHANGELOG.md
@@ -6,6 +6,8 @@
 
 ## [Unreleased]
 
+### Fixed
+ - Potential bug in `ready()` if already loaded.
 
 ## [0.3.1] - 2019-01-04
 ### Added
diff --git a/experimental/canvaskit/ready.js b/experimental/canvaskit/ready.js
index 54bbbbc..66f2a0e 100644
--- a/experimental/canvaskit/ready.js
+++ b/experimental/canvaskit/ready.js
@@ -5,9 +5,13 @@
   return new Promise(function (resolve, reject) {
     delete Module['then'];
     Module['onAbort'] = reject;
-    addOnPostRun(function () {
-      resolve(Module)
-    });
+    if (runtimeInitialized) {
+      resolve(Module);
+    } else {
+      addOnPostRun(function() {
+        resolve(Module);
+      });
+    }
   });
 }
 // TODO(kjlubick): Shut .then() entirely off in 0.4.0 by uncommenting below.
diff --git a/modules/pathkit/CHANGELOG.md b/modules/pathkit/CHANGELOG.md
index 3c13fa8..6cde21c 100644
--- a/modules/pathkit/CHANGELOG.md
+++ b/modules/pathkit/CHANGELOG.md
@@ -6,6 +6,9 @@
 
 ## [Unreleased]
 
+### Fixed
+ - Potential bug in `ready()` if already loaded.
+
 ## [0.5.1] 2019-01-04
 
 ### Changed
diff --git a/modules/pathkit/ready.js b/modules/pathkit/ready.js
index 6f8d64a..e054f62 100644
--- a/modules/pathkit/ready.js
+++ b/modules/pathkit/ready.js
@@ -5,9 +5,13 @@
   return new Promise(function (resolve, reject) {
     delete Module['then'];
     Module['onAbort'] = reject;
-    addOnPostRun(function () {
-      resolve(Module)
-    });
+    if (runtimeInitialized) {
+      resolve(Module);
+    } else {
+      addOnPostRun(function() {
+        resolve(Module);
+      });
+    }
   });
 }
 // TODO(kjlubick): Shut .then() entirely off in 0.6.0 by uncommenting below.
diff --git a/modules/pathkit/tests/util.spec.js b/modules/pathkit/tests/util.spec.js
index 7db729a..ed65dc5 100644
--- a/modules/pathkit/tests/util.spec.js
+++ b/modules/pathkit/tests/util.spec.js
@@ -64,4 +64,4 @@
         }));
     });
 
-});
\ No newline at end of file
+});