Last active
August 13, 2025 15:55
-
-
Save tyru/29360dfa475d2fefaf6c4655a93c2cb0 to your computer and use it in GitHub Desktop.
Revisions
-
tyru revised this gist
Feb 15, 2017 . 1 changed file with 10 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,5 @@ function delay(msec, value) { return new Promise(done => window.setTimeout((() => done(value)), msec)); } function isResolved(promise) { @@ -15,5 +15,13 @@ function isFinished(promise) { } isFinished(Promise.resolve(42)).then(result => console.log(result ? "Resolved" : "Not resolved")); // => "Resolved" isFinished(delay(100)).then(result => console.log(result ? "Resolved" : "Not resolved")); // => "Not resolved" isFinished(delay(1)).then(result => console.log(result ? "Resolved" : "Not resolved")); // => "Resolved" // oh... -
tyru created this gist
Feb 13, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,19 @@ function delay(msec, value) { return new Promise(done => window.setTimeout(() => value, msec)); } function isResolved(promise) { return Promise.race([delay(0, false), promise.then(() => true, () => false)]); } function isRejected(promise) { return Promise.race([delay(0, false), promise.then(() => false, () => true)]); } function isFinished(promise) { return Promise.race([delay(0, false), promise.then(() => true, () => true)]); } isFinished(promise).then(result => console.log(result ? "Resolved" : "Not resolved"));